编译具有外部引用的 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 文件移动到该目录,但应用程序崩溃了。
我错过了什么?