0

编译具有外部引用的 C# 项目时,引用的 dll 被复制到项目的输出路径(exe 旁边)。

运行应用程序时,它希望在 exe 旁边找到 dll。

我正在寻找一种方法将我的 dll 文件传播到不同的目录 Dlls 以供初学者使用)。并让 exe 在这些目录中查找 dll 文件。

例子:

假设我们有一个名为“App”的应用程序位于 下C:\App\App.exe,并且它使用了一个名为“App.dll”的 dll 文件,该文件当前也位于C:\App.

我希望创建一个名为的新目录C:\App\Dlls并将 App.dll 文件移动到那里,同时确保 App.exe 文件知道在新位置查找 dll。

我搜索了互联网并找到了探测解决方案。这是我的代码(编辑过的“App.config”文件):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
    </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas=microsoft-com:asm.v1">
      <probing privatePath="Dlls" />
    </assemblyBinding>
  </runtime>
</configuration>

我编译了我的应用程序,创建了 Dlls 目录并将所有 dll 文件移动到该目录,但应用程序崩溃了。

我错过了什么?

4

1 回答 1

4

找到解决方案,App.exe.config我的基本目录中缺少该文件。这就是为什么它不起作用。现在一切顺利。

于 2015-10-14T13:57:03.267 回答