C#VS.NET 2008更改每个配置的设置

时间:2008-12-03 19:03:24

标签: c# .net visual-studio-2008 appsettings

是否有办法为每个构建配置设置不同的应用程序设置?

我希望能够使用不同的设置批量构建一些配置,而不必更改设置和构建,冲洗重复。

提前致谢!

4 个答案:

答案 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 (在它之前创建许多配置文件)