我想使用与服务器通信的dll,而在C#的控制台应用程序中使用DLL时,它运行良好。但是,当我在Web API项目中使用DLL时,它既不会记录任何日志,也不会返回正确的响应。
DLL使用一个.config文件,该文件应位于与DLL相同的位置。在这两种情况下,我都将配置文件粘贴到bin文件夹中,但是仍然得到不同的结果。
这背后的可能原因是什么。
答案 0 :(得分:0)
IIS
使用Shadow Copying,即它将所有DLL
从bin
复制到临时文件夹中。在此过程中,可能不会复制您的配置文件,从而导致通信DLL
找不到.config
。
您可以在应用程序启动过程中将.config
文件复制到目标临时bin文件夹,也可以将web.config
中的disable shadow copying复制到side effects中。