【发布时间】:2008-10-13 19:05:15
【问题描述】:
我有一种情况,我需要能够根据其部分名称在 GAC 中加载程序集。为此,我在 app.config 文件中添加了以下内容:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="MyAssembly"
fullName= "MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0123456789abcdef"/>
</assemblyBinding>
</runtime>
这正是我想要的方式。但是,如果我在 machine.config 文件中放置相同的元素,它似乎会被忽略,并且在尝试加载 MyAssembly 时出现 FileNotFoundExceptions。
以下是元素在我的app.config中时的程序集绑定日志,并且绑定成功:
LOG:此绑定在默认加载上下文中开始。 LOG:使用应用程序配置文件:C:\Documents and Settings\jon_scheiding\My Documents\Source\Testing\Test Projects 1\Cmd\bin\Debug\Testers.Cmd.vshost.exe.config LOG:使用 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config 中的机器配置文件。 LOG:部分引用来自配置文件。新参考:MyAssembly,Version=1.0.0.0,Culture=neutral,PublicKeyToken=0123456789abcdef。 日志:政策后参考:MyAssembly,Version=1.0.0.0,Culture=neutral,PublicKeyToken=0123456789abcdef 日志:通过查看 GAC 找到程序集。 LOG:绑定成功。从 C:\WINDOWS\assembly\GAC_MSIL\MyAssembly\1.0.0.0__b20f4683c1030dbd\MyAssembly.dll 返回程序集。 LOG:程序集在默认加载上下文中加载。
与我的配置在 machine.config 中时的日志对比,并且绑定失败:
LOG:此绑定在默认加载上下文中开始。 LOG:使用应用程序配置文件:C:\Documents and Settings\jon_scheiding\My Documents\Source\Testing\Test Projects 1\Cmd\bin\Debug\Testers.Cmd.vshost.exe.config LOG:使用 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config 中的机器配置文件。 LOG:此时未将策略应用于引用(私有、自定义、部分或基于位置的程序集绑定)。 日志:尝试下载新的 URL 文件:///C:/Documents and Settings/jon_scheiding/My Documents/Source/Testing/Test Projects 1/Cmd/bin/Debug/MyAssembly.DLL。 日志:尝试下载新的 URL 文件:///C:/Documents and Settings/jon_scheiding/My Documents/Source/Testing/Test Projects 1/Cmd/bin/Debug/MyAssembly/MyAssembly.DLL。 日志:正在尝试下载新的 URL 文件:///C:/Documents and Settings/jon_scheiding/My Documents/Source/Testing/Test Projects 1/Cmd/bin/Debug/MyAssembly.EXE。 日志:尝试下载新的 URL 文件:///C:/Documents and Settings/jon_scheiding/My Documents/Source/Testing/Test Projects 1/Cmd/bin/Debug/MyAssembly/MyAssembly.EXE。 LOG:所有探测 URL 都已尝试并失败。
问题似乎出在第四行,“Policy not being applied to reference at this time”。但是,关于此消息的含义或解决方法,我几乎找不到文档。
如何让框架识别我的
提前致谢!
【问题讨论】:
标签: .net configuration clr gac fusion