问题 在探测privatePath时使用绝对路径


在C#控制台应用程序中,我正在尝试使用 <probing privatePath=""/> 指向不在我的应用程序子目录中的dll。我在用着:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="D:\Library\References" />
    </assemblyBinding>
</runtime>    

这不起作用,因为privatePath正在我的应用程序中查找子目录。有没有办法以这种方式使用绝对路径?如果没有,指向位于我的应用程序之外的dll的最佳方法是什么?我也试过用 <codebase> 用一个 file:/// 路径,但仍然有一个 System.IO.FileNotFound 例外。

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity 
        name="MyLibrary" publicKeyToken="29989D7A39ACF230" />
      <codeBase
        version="2.0.0.0"
        href="http://file:///D:/Library/References/NLog.dll"/>
    </dependentAssembly>
  </assemblyBinding>
</runtime>

但仍然有一个 System.IO.FileNotFound 例外。

谢谢!


9861
2018-03-02 15:51


起源



答案:


根据 MSDN

您只能使用该元素 机器配置 要么    发布商政策文件 这也重定向了程序集版本。   ...   如果要为不是的程序集提供代码基础提示   强名称,提示必须指向应用程序库或a   应用程序基目录的子目录。

你可能试过申请 app.config

privatePath中指定的目录必须是。的子目录   应用程序基目录。


14
2018-03-02 15:54



我得到了第二部分。但第一部分意味着什么? - Paul
我已经编辑了答案 - the_joric


答案:


根据 MSDN

您只能使用该元素 机器配置 要么    发布商政策文件 这也重定向了程序集版本。   ...   如果要为不是的程序集提供代码基础提示   强名称,提示必须指向应用程序库或a   应用程序基目录的子目录。

你可能试过申请 app.config

privatePath中指定的目录必须是。的子目录   应用程序基目录。


14
2018-03-02 15:54



我得到了第二部分。但第一部分意味着什么? - Paul
我已经编辑了答案 - the_joric