无法打开添加为 link 的 configSource 文件
Unable to open configSource file that was added as link
在我的 MVC 应用程序中,我使用外部配置文件来保持清洁 web.config。有些文件很常见,我从一个位置将它们作为 link 添加到项目中。对于那些文件,我将“复制”选项设置为“始终复制”,这些文件被复制到目标文件夹,我可以看到它们。但是当我尝试在浏览器中打开主页时,我看到 "Unable to open configSource file" 错误。当我将 links 删除到文件并添加它们(没有 link)时,一切正常。知道什么可能导致此错误吗?
终于找到问题所在了。当使用 Copy always 时,文件被复制到 bin 文件夹。但是文件是在虚拟目录中而不是在 bin 中搜索的。所以我添加了 post 将文件复制到正确目标的构建任务。
我按照建议添加了 post 构建事件。但具体步骤是:
- 右键单击项目并导航到属性
- 单击“生成事件”选项卡
- 在Post-构建事件命令行:框中我添加了:
xcopy /s "$(ProjectDir)\bin\Config" "$(ProjectDir)\Config"
见
长话短说:您可以添加
<connectionStrings configSource="bin\Connections.config">
</connectionStrings>
区分配置(deploy/release所以debug/deploy版本)你可以添加transformation。反正用起来挺方便的。
(是的,我知道这个话题已经解决了,但也许有人会像我一样发现这些信息有用)
我遇到了同样的问题。在我的例子中,配置文件的 'Build Action' 属性 是原因。
(右键单击配置文件 > 属性 > 生成操作)
'Build Action' 值已设置为 'None'。我改成'Content'后,问题就解决了。
(我不确定是 Visual Studio 的错误还是 'my click-by-mistake' 导致它设置为 'None'。
尝试 xcopy 解决方案失败后,以下方法对我有用:
右键单击 cstrings.config,转到 Properties
。
将 属性 Copy to Output Directory
值设置为 Copy always
右键单击配置文件 > 属性。设置如下截图
在我的 MVC 应用程序中,我使用外部配置文件来保持清洁 web.config。有些文件很常见,我从一个位置将它们作为 link 添加到项目中。对于那些文件,我将“复制”选项设置为“始终复制”,这些文件被复制到目标文件夹,我可以看到它们。但是当我尝试在浏览器中打开主页时,我看到 "Unable to open configSource file" 错误。当我将 links 删除到文件并添加它们(没有 link)时,一切正常。知道什么可能导致此错误吗?
终于找到问题所在了。当使用 Copy always 时,文件被复制到 bin 文件夹。但是文件是在虚拟目录中而不是在 bin 中搜索的。所以我添加了 post 将文件复制到正确目标的构建任务。
我按照建议添加了 post 构建事件。但具体步骤是:
- 右键单击项目并导航到属性
- 单击“生成事件”选项卡
- 在Post-构建事件命令行:框中我添加了:
xcopy /s "$(ProjectDir)\bin\Config" "$(ProjectDir)\Config"
见 长话短说:您可以添加
<connectionStrings configSource="bin\Connections.config">
</connectionStrings>
区分配置(deploy/release所以debug/deploy版本)你可以添加transformation。反正用起来挺方便的。
(是的,我知道这个话题已经解决了,但也许有人会像我一样发现这些信息有用)
我遇到了同样的问题。在我的例子中,配置文件的 'Build Action' 属性 是原因。 (右键单击配置文件 > 属性 > 生成操作)
'Build Action' 值已设置为 'None'。我改成'Content'后,问题就解决了。 (我不确定是 Visual Studio 的错误还是 'my click-by-mistake' 导致它设置为 'None'。
尝试 xcopy 解决方案失败后,以下方法对我有用:
右键单击 cstrings.config,转到 Properties
。
将 属性 Copy to Output Directory
值设置为 Copy always
右键单击配置文件 > 属性。设置如下截图