C#dotnet Web应用程序:发布时Dll的xml配置文件丢失

时间:2012-06-15 20:11:07

标签: c# iis dll .net-4.0

我有点迷失了!

我有一个dll,它使用xml配置文件来获取某些数据库连接信息。 dll在它自己的目录中查找xml配置文件,我根本无法更改dll。

每次构建项目时,我都必须手动将配置文件复制到Temporary ASP.NET Files文件夹中的某个文件夹中。 (我不明白这一点,但我可以忍受这个手动更改)

问题是,当我发布项目时,我无法弄清楚将配置文件复制到哪里?

有人可以指出我正确的方向吗?或者也许告诉我一种方法,我可以将xml配置文件“绑定”到bin文件夹???

Vauneen

2 个答案:

答案 0 :(得分:3)

.NET配置文件可能会让人难以管理。它在webapp中的工作方式是Web.config将取代任何依赖项'app.config文件(这就是我假设您在谈论“DLL”时所说的内容。)

基本上,在.NET中,所有配置信息都是从主应用程序项目中提取的。

请参阅:

App.config seems to be ignored

Configuration from App.config isn't being pulled correctly

最后:

Does a web.config substitute app.config?

可能会帮助您弄清楚您需要了解的内容。

更新:进一步搜索您的问题,您在.Net解决方案中加入的代码可能正在使用“过时的”ConfigurationSettings,这将要求您在您的参考文件夹中添加对System.Configuration的引用(右键单击项目 - >“添加引用”并转到.NET选项卡并选择System.Configuration)。

答案 1 :(得分:1)

设置"复制到输出目录"到"永远复制"在配置的属性中。然后,Visual Studio将在每次构建后自动复制配置文件,并且它也将正确发布。