我有一个代码可以在deploy上复制propper配置文件:
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CopyConfigFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
<Target Name="CopyConfigFiles">
<ItemGroup>
<_ConfigFiles Include="Configurations\*.$(Platform).config" />
<FilesForPackagingFromProject Include="%(_ConfigFiles.Identity)">
<DestinationRelativePath>%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
是否可以从结果文件中删除$(平台)?
即
答案 0 :(得分:0)
另一种解决方案是在项目中实际引用 connectionString.config ,并在预构建的msbuuild步骤中用适当的版本替换它。
我们有一个类似于处理特定于环境的配置文件的方法(所以我们有:
幅。的调试强>的.config
但是,使用预构建步骤选择其中一个文件并覆盖现有的web.config文件,因此当执行/部署/打包系统使用正确的特定于环境的配置文件处理时,名为的web.config 强>
Scott Hanselman in his blog post
很好地描述了这种方法答案 1 :(得分:0)
在我看来,最好的事情是“配置转换”。它们非常容易学习,功能非常强大,只覆盖了为特定平台更改的web.config部分,并且它们与Visual Studio捆绑在一起。 看看这个博客 http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx
我希望有所帮助。