无法打开作为链接添加的configSource文件

时间:2015-12-09 18:31:49

标签: c# .net model-view-controller web-config

在我的MVC应用程序中,我使用外部配置文件来保持干净的web.config。有些文件是常见的,我将它们添加到项目中作为一个位置的链接。对于那些文件,我将复制选项设置为始终复制,并将这些文件复制到目标文件夹,我看到它们。但是当我尝试在浏览器中打开主页时,我看到"无法打开configSource文件"错误。当我删除文件的链接,只是添加它们(没有链接)一切正常。知道什么可能导致这个错误吗?

6 个答案:

答案 0 :(得分:17)

最后我发现了什么问题。使用“始终复制”时,文件将复制到bin文件夹。但是在虚拟目录中搜索文件而不是在bin中。所以我添加了post build task,它将文件复制到正确的目的地。

答案 1 :(得分:8)

我按建议添加了post build事件。但确切的步骤是:

  1. 右键单击项目并导航到属性
  2. 单击“构建事件”选项卡
  3. 构建后事件命令行:框中,我添加了:
  4. 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)

右键单击配置文件 > 属性。设置如下截图

enter image description here