是否有办法为每个构建配置设置不同的应用程序设置?
我希望能够使用不同的设置批量构建一些配置,而不必更改设置和构建,冲洗重复。
提前致谢!
答案 0 :(得分:1)
我对appsettings架构知之甚少(我从来没有真正使用它),但你可以使用一些MSBuild魔法为常量定义不同的值。
创建两个.cs文件,Constants1.cs和Constants2.cs(或在配置后命名)。
在每个文件中,定义一个名为Constants(或其他)的类 - 但这样做就好像每个文件都是唯一的定义(即使用相同的类名)。通常,这应该只定义public static readonly
字段 - 不使用const
,因为这会让您在部分构建时遇到麻烦。
现在卸载您的项目文件并编辑它。找到如下所示的条目:
<Compile Include="Constants1.cs" /> <Compile Include="Constants2.cs" />
并改变它们:
<Compile Include="Constants1.cs" Condition="'$(Configuration)'=='Debug'" /> <Compile Include="Constants2.cs" Condition="'$(Configuration)'=='Release'" />
最后保存并重新加载您的项目。现在,实际上一次只能构建其中一个文件,具体取决于您的构建配置。
答案 1 :(得分:0)
您可以将probuild或postbuild任务添加到项目中,您可以从那里访问ConfigurationName。做一些像“复制Web.config.debug Web.config”
这样的事情会相当容易答案 2 :(得分:0)
除此之外,MS还承诺在VS 2010中添加此功能。
答案 3 :(得分:0)
在“应用程序设置”下你的意思是什么? Debug或Release等每个配置的Project属性?或者为每个人定义app.conf文件?
如果是第一个,您可以使用合适的设置创建许多配置,并使用Batch Build来轮流构建它们。 http://msdn.microsoft.com/en-us/library/169az28z.aspx
或谷歌忍者说,使用预构建任务: del Web.config app.config 复制Web.config.Debug Web.config (在它之前创建许多配置文件)