In my MVC application I use external config files to keep clean web.config. Some files are common and I added them to project as link from one location. For those files I set Co
I added the post build event as suggested. But the exact steps are:
xcopy /s "$(ProjectDir)\bin\Config" "$(ProjectDir)\Config"
Right click on the config file > Properties. Set the setting like below screenshot
See https://stackoverflow.com/a/38408867/2240453 Long story short: You can add
<connectionStrings configSource="bin\Connections.config">
</connectionStrings>
to differentiate configuration (deploy/release so debug/deploy version) You can add transformation . It's quite handy to use them anyway.
(Yes, i know the topic is solved, but maybe someone will find this information useful as I did)
Finally I found what was the issue. When use Copy always, files are copied to bin folder. But files are searched in the virtual directory not in the bin. So I added post build task which copies files to correct destination.
I suffered from the same problem. In my case, config file's 'Build Action' property was the cause. ( Right click on the config file > Properties > Build Action )
The 'Build Action' value was set to 'None'. After I changed it to 'Content', the problem sovled. ( I am not sure if it was 'a Visual Studio's bug' or 'my click-by-mistake' that made it set to 'None'.
After trying the xcopy solution, which failed, the follow worked for me:
Right click the cstrings.config, go to Properties
.
Set the property Copy to Output Directory
value to Copy always