使用Codebase加载程序集

时间:2011-12-18 17:11:10

标签: c# console-application .net-assembly codebase assembly-signing

基于this question,我尝试使用<codebase>来查找外部程序集。现在,当我运行该程序时,我收到一条错误消息,指出私有程序集位于appbase之外。我该如何解决这个问题?我看到的一个建议就是签署集会。我做了这个,但后来我的程序找不到程序集。当我取消签名时,我收到outside the appbase错误。如何使用<codebase>加载位于其他位置的装配而不安装到GAC? (探测也不起作用,似乎它仍然必须存在于应用程序文件夹中) 我的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>

        <assemblyIdentity name="NGameHost"

                          culture="neutral" />
        <codeBase version="1.0.0.0" 
                  href="C:/Program Files/NetworkGame3/api/NGameHost.exe"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

</configuration>

1 个答案:

答案 0 :(得分:7)

  

如果程序集是私有程序集,则代码库设置必须是相对于应用程序目录的路径。

(来自MSDN