Tag: assembly resolution

多个Assembly.Load(Byte ),相同的实例或泄漏?

当我使用包含相同程序集的Byte数组多次调用Assembly.Load(Byte [])时会发生什么? 我是否会为每次通话获得相同的汇编实例? 在app域中多次加载相同的程序集???

我在哪里可以找到Microsoft.VisualStudio.DebuggerVisualizers?

由于缺少程序集,项目将无法编译。 导致错误的文件有一个 using Microsoft.VisualStudio.DebuggerVisualizers; VisualStudio部件标记为红色。 我需要安装什么来修复它? 对我来说,它听起来像是Visual Studio带来的东西,但这就是我正在使用的,所以它已经安装…… 澄清:我知道它存在于哪个程序集中,并且引用会在之前添加到项目引用中。 但我怎么得到它? 我需要安装什么SDK? 或者我忘记在安装Visual Studio时检查一些东西?

使绑定重定向适用于办公室加载项

我在我的Word插件中使用Microsoft.Bcl.Async,我的插件编译为exe(test_addin.exe)文件,从Microsoft Word作为程序集加载,当我直接启动可执行文件时,一切正常,但是当我从Word运行它时,我收到一个错误,说它无法加载Systems.Threading.Tasks程序集。 Could not load file or assembly System.Threading.Tasks… 看起来它与绑定重定向有关,当我尝试从Word运行应用程序时,它希望配置文件位于’C:\Program Files (x86)\Microsoft Office\Office15’文件夹中,并命名为WINWORD.exe.config ,遗憾的是不可能,因为我可能无权访问该文件夹。 我的test_addin.exe.config文件: 我已经尝试将AppDomain.CurrentDomain.SetupInformation.ConfigurationFile设置为指向正确的路径,但它似乎没有帮助,还有其他方法使其适用于Office加载项吗?

如何提供后备程序集而不是无法加载的程序集?

在运行时,如果引用的程序集无法加载,例如“强名称validation失败”(因为它是经过测试签名的),是否有办法从另一个实际签名的路径提供替换程序集? 我尝试订阅AppDomain.CurrentDomain.AssemblyResolve,但它没有被触发,因为“坏”程序集技术上存在,它只是无法加载。 当无法加载程序集时,是否有通用的方法来提供回退程序集?

assembly绑定错误:绑定结果:hr = 0x80070002。 该系统找不到指定的文件

我有一个Visual Studio 2010解决方案,其中包含一个类库(ProjectA)和两个Sharepoint项目(ProjectB和ProjectC)。 依赖顺序是ProjectB引用,ProejctA和ProjectC引用ProjectA和ProjectB。 在一台特定的开发机器上,我在尝试构建ProjectC时遇到以下错误: 编译失败。 无法加载一个或多个请求的类型。 检索LoaderExceptions属性以获取更多信息。 在查看融合日志时,我注意到以下错误: *assembly活页夹日志条目(14/06/2012 @ 09:38:32)* 操作失败。 绑定结果:hr = 0x80070002。 该系统找不到指定的文件。 程序集管理器从:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ clr.dll加载 在可执行文件C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe下运行 —详细的错误日志如下。 ===预绑定状态信息=== LOG:User = DOMAIN \ username 日志:DisplayName = ProjectB,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = […]

解决程序集的exception:尝试使用fixup加载无法validation的可执行文件

我正在将所需的程序集嵌入到我的项目中,并使用AppDomain.CurrentDomain.AssemblyResolve事件在运行时解析它们。 一切正常,除了irrKlang的.net4-wrapper,如果我这样做会引发exception; System.IO.FileLoadException: Attempt to load an unverifiable executable with fixups (IAT with more than 2 sections or a TLS section.) (Exception from HRESULT: 0x80131019) at System.Reflection.RuntimeAssembly.nLoadImage(Byte[] rawAssembly, Byte[] rawSymbolStore, Evidence evidence, StackCrawlMark& stackMark, Boolean fIntrospection, SecurityContextSource securityContextSource) at System.Reflection.Assembly.Load(Byte[] rawAssembly) at xyz.Utility.Helpers.AssemblyManager.Resolver(Object sender, ResolveEventArgs args) in C:\Users\shalafi\Desktop\xyz\trunk\xyz\Utility\Helpers\AssemblyManager.cs:line 55 at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName) 基本上我怀疑CLR […]

validationVAB配置文件中的程序集和名称空间

我们正在使用validation应用程序块的4.1版。 我相对较新,所以我想知道它是否有能力抽象出配置的命名空间和程序集,或者提供其存在的正确validation? 我们最近遇到了一个问题,即有人移动了一个类,并且没有使用新的命名空间更新validation配置文件。 结果,validation不再应用于对象。 应用程序块似乎只是忽略了差异。 不幸的是,在正常的QA周期中没有发现这种情况。 是否有任何内置的方法可以保护自己免受未来这种变化的影响? 我在过渡期间所做的是加载config xml,提取出所有程序集和定义的名称空间并validation它们是否都存在。

当DisallowApplicationBaseProbing = true时,需要连接AssemblyResolve事件

当我设置DisallowApplicationBaseProbing = true时,我需要在我创建的AppDomain上连接AssemblyResolve事件。 我这样做的原因是强制运行时调用解析程序集所需的AssemblyResolve事件,而不是先进行探测。 这样,另一个开发人员不能只将MyDllName.dll粘贴到ApplicationBase目录中,并覆盖我想在AssemblyResolve事件中加载的程序集。 这样做的问题如下…… class Program { static void Main() { AppDomainSetup ads = new AppDomainSetup(); ads.DisallowApplicationBaseProbing = true; AppDomain appDomain = AppDomain.CreateDomain(“SomeDomain”, null, ads); appDomain.AssemblyResolve += OnAssemblyResolve; appDomain.DoCallBack(target); } static System.Reflection.Assembly OnAssemblyResolve(object sender, ResolveEventArgs args) { Console.WriteLine(“Hello”); return null; } private static void target() { Console.WriteLine(AppDomain.CurrentDomain); } } 代码永远不会超过+ = OnAssemblyResolve行。 当代码尝试执行时,新的app域尝试解析我正在执行的程序集。因为DisallowApplicationBaseProbing […]