Questions tagged «assemblies»

程序集是已编译的.Net类型和资源的集合,这些资源分为逻辑和物理单元(以.dll文件或.exe文件的形式)。

9
动态替换C#方法的内容?
我想做的是更改C#方法在调用时的执行方式,以便我可以编写如下内容: [Distributed] public DTask<bool> Solve(int n, DEvent<bool> callback) { for (int m = 2; m < n - 1; m += 1) if (m % n == 0) return false; return true; } 在运行时,我需要能够分析具有Distributed属性(我已经可以做到)的方法,然后在函数主体执行之前和函数返回之后插入代码。更重要的是,我需要能够在不修改调用Solve或在函数开始的地方修改代码(在编译时;在运行时这样做才是目标)。 目前,我尝试了这段代码(假设t是Solve的存储类型,而m是Solve的MethodInfo): private void WrapMethod(Type t, MethodInfo m) { // Generate ILasm for delegate. byte[] il = …
108 c#  methods  assemblies  cil  swap 

8
Microsoft如何创建具有循环引用的程序集?
在.NET BCL中,以下之间存在循环引用: System.dll 和 System.Xml.dll System.dll 和 System.Configuration.dll System.Xml.dll 和 System.Configuration.dll 这是.NET Reflector的屏幕截图,显示了我的意思: 微软如何创建这些程序集对我来说还是一个谜。是否需要特殊的编译过程才能允许这样做?我想象这里会发生一些有趣的事情。

9
使用Razor / MVC3将AssemblyVersion放入网页时出现问题
我在_Layout.cshtml文件的页脚中使用以下代码,将AssemblyInfo版本数据放入MVC3站点中每个页面的页脚中。然而: @System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() 只需在页脚中打印: Revision 0.0.0.0 当我修改视图以使用以下命令显示“执行装配”的所有装配信息时 @System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString() 打印以下内容: Revision App_Web__layout.cshtml.639c3968.hlogy75x, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 这表明“执行程序集”不是我的主要应用程序,而是视图本身。 如何获得ACTUAL应用程序的装配信息,而不仅仅是单个视图?


2
如何列出所有已加载的程序集?
在.Net中,我想枚举所有AppDomain上所有加载的程序集。为我的程序的AppDomain做到这一点很容易AppDomain.CurrentDomain.GetAssemblies()。我需要以某种方式访问​​每个AppDomain吗?还是已经有执行此操作的工具?
101 c#  .net  assemblies 


7
如何将多个程序集合并为一个?
我使用EXE项目(Azure应用程序的启动任务)消耗了服务堆栈,因为我将以下服务堆栈的DLL和某些Azure的DLL复制到了EXE项目中。 当我构建此EXE项目时,Azure DLL将与我的EXE捆绑在一起,但是服务堆栈的DLL将不与EXE捆绑在一起,因为要在任何计算机上运行我的EXE,我都需要手动复制所有服务堆栈的DLL。 我已经使用了该服务栈的dll JsonServiceClient client = new JsonServiceClient(servicepath); 我应该怎么做才能将所有这些DLL捆绑到我的EXE中?

9
命名空间还是程序集?
我对命名空间和程序集感到非常困惑。是System.Data和System.Web命名空间或程序集? 我注意到这些被称为命名空间,并且它们同时存在于GAC_32文件夹中。那到底是什么呢?

9
有没有一种方法可以强制将所有引用的程序集加载到应用程序域中?
我的项目是这样设置的: 项目“定义” 项目实施” 项目“消费者” 项目“消费者”同时引用了“定义”和“实施”,但是没有静态引用“实施”中的任何类型。 当应用程序启动时,“消费者”项目将在“定义”中调用一个静态方法,该方法需要在“实施”中查找类型 有没有一种方法可以强制将任何引用的程序集加载到App Domain中,而无需知道路径或名称,并且最好不必使用成熟的IOC框架?

10
无法加载文件或程序集HRESULT:0x80131515(将控制器添加到在网络驱动器上具有程序集引用的MVC项目中时)
我已经看到了:VSTS 2010 SGEN:错误:无法加载文件或程序集(HRESULT的异常:0x80131515),所有答案均无效。当我构建或其他任何东西时,它也不会出现。我可以很好地运行项目,当我尝试添加实体框架模板化控制器时会发生这种情况: 然后我得到这个错误: 所有项目文件都在我的网络共享上,因为这是我的文档驻留在我们工作中的位置。这是我尝试过的: 1)将项目设置中的Generator序列化程序集打开,关闭和自动。 2)使用以下代码将sgen.exe.config添加到C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools中: <configuration> <runtime> <loadFromRemoteSources enabled="true" /> </runtime> </configuration> 3)试图取消阻止程序集,但是在属性选项卡中没有取消阻止选项。 这些解决方案均无效。有谁知道我该如何解决这个问题???由于nuget或我自己的项目中的任何自定义程序集存在于网络空间中,因此会发生此错误,但仅当尝试添加EF模板控制器时才会发生。我可以很好地构建和运行程序。

7
反思有多慢
我最近创建了一个接口层,以区分DataAccessProvider和我们的业务逻辑层。通过这种方法,我们可以随时通过更改Web / App.Config中的值来更改对DataAccessProvider的选择。(如果需要,可以提供更多详细信息)。 无论如何,为了做到这一点,我们使用反射来完成我们可以使用的DataProvider类。 /// <summary> /// The constructor will create a new provider with the use of reflection. /// If the assembly could not be loaded an AssemblyNotFoundException will be thrown. /// </summary> public DataAccessProviderFactory() { string providerName = ConfigurationManager.AppSettings["DataProvider"]; string providerFactoryName = ConfigurationManager.AppSettings["DataProviderFactory"]; try { activeProvider = Assembly.Load(providerName); …

3
Gacutil.exe成功添加了程序集,但程序集在资源管理器中不可见。为什么?
我正在Visual Studio Command Prompt 2010中运行GacUtil.exe,将dll(CatalogPromotion.dll)注册到GAC。运行该实用程序后,显示Assembly Successfully added to the cache,并且运行gacutil /l CatalogPromotionDll表明GAC包含该程序集,但是当我从Windows资源管理器导航到C:\ WINDOWS \ assembly时,我看不到该程序集。 为什么我不能从Windows资源管理器中的WINDOWS \ assembly中看到该程序集,但是可以使用gacutil.exe看到它? 背景:这是我在VS Tools的命令提示符下键入的内容: C:\ _ Dev项目\ VS项目\ bmccormack \ CatalogPromotion \ CatalogPromotionDll \ bin \ Debug> gacutil / i CatalogPromotionDll.dll Microsoft(R).NET全局程序集缓存实用程序。版本4.0.30319.1 版权所有(c)Microsoft Corporation。版权所有。 程序集成功添加到缓存 C:\ _ Dev项目\ VS项目\ bmccormack \ CatalogPromotion \ CatalogPromotionDll …

1
为什么DbParameterCollection中的三个属性在引用程序集中是抽象的,否则是虚拟的?
我正在将项目从project.json转换为新的csproj格式,并且其中包括一个从派生的类DbParameterCollection。在我的实际项目中,我正在使用多目标,但是出于这个问题的目的,我们只需要关心即可net45。 编译器告诉我,我必须重写以前不需要的三个属性: IsFixedSize IsReadOnly IsSynchronized 如果遵循这些文档链接(适用于.NET 4.5),则会看到所有属性都是虚拟的-不是抽象的。如果我仅通过调用来构建代码csc,那么一切都很好……只有在使用.NET Core SDK时,我才遇到问题。 下面是重现该问题的示例代码: 项目文件: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net45</TargetFramework> </PropertyGroup> </Project> C#代码: using System; using System.Collections; using System.Data.Common; public class DummyParameterCollection : DbParameterCollection { public override int Count => 0; public override object SyncRoot => null; public override void Remove(object value) {} public override …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.