在我的MVC应用程序中,我使用外部配置文件来保持干净的web.config。有些文件是常见的,我将它们添加到项目中作为一个位置的链接。对于那些文件,我将复制选项设置为始终复制,并将这些文件复制到目标文件夹,我看到它们。但是当我尝试在浏览器中打开主页时,我看到"无法打开configSource文件"错误。当我删除文件的链接,只是添加它们(没有链接)一切正常。知道什么可能导致这个错误吗?
答案 0 :(得分:17)
最后我发现了什么问题。使用“始终复制”时,文件将复制到bin文件夹。但是在虚拟目录中搜索文件而不是在bin中。所以我添加了post build task,它将文件复制到正确的目的地。
答案 1 :(得分:8)
我按建议添加了post build事件。但确切的步骤是:
xcopy / s" $(ProjectDir)\ bin \ Config" " $(PROJECTDIR)\配置" 强>
答案 2 :(得分:5)
我遇到了同样的问题。就我而言,原因是配置文件的“构建操作”属性。 (右键单击配置文件>“属性”>“构建操作”)
“构建操作”值设置为“无”。将其更改为“内容”后,问题解决了。 (我不确定是将其设置为“无”还是“ Visual Studio的错误”或“我的误点击”。
答案 3 :(得分:1)
参见https://stackoverflow.com/a/38408867/2240453 长话短说:你可以添加
<connectionStrings configSource="bin\Connections.config">
</connectionStrings>
区分配置(部署/发布所以调试/部署版本)您可以添加transformation。无论如何使用它们都非常方便。
(是的,我知道主题已经解决,但也许有人会发现这些信息对我有用)
答案 4 :(得分:1)
尝试使用xcopy解决方案失败后,以下方法对我有用:
右键单击cstrings.config,转到Properties
。
将属性Copy to Output Directory
的值设置为Copy always
答案 5 :(得分:0)