在编译具有外部引用的C#项目时,引用的dll将被复制到项目的输出路径(在exe旁边)。
运行应用程序时,它希望找到exe旁边的dll。
我正在寻找一种方法将我的dll文件传播到不同的目录Dlls for starters)。并让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>
我编译了我的应用程序,创建了Dll目录并将所有dll文件移动到该目录,但应用程序崩溃了。
我错过了什么?
答案 0 :(得分:2)
找到解决方案,我的基目录中缺少文件App.exe.config
。这就是为什么它不起作用。现在一切顺利。