3

有没有办法让每个构建配置有不同的应用程序设置?

我希望能够批量构建一些具有不同设置的配置,而不必更改设置并构建、冲洗重复。

提前致谢!

4

4 回答 4

2

我不太了解 appsettings 架构(我从未真正使用过它),但您可以使用一点 MSBuild 魔法为常量定义不同的值。

创建两个 .cs 文件,Constants1.cs 和 Constants2.cs(或以您的配置命名)。

在每个文件中,定义一个名为 Constants 的类(或其他)——但就像每个文件都是唯一的定义一样(即使用相同的类名)。通常,这应该只定义public static readonly字段——不要使用const因为这会使您在部分构建时遇到麻烦。

现在卸载您的项目文件并编辑它。找到如下所示的条目:

    <编译包含="Constants1.cs" />
    <Compile Include="Constants2.cs" />

并像这样改变它们:

    <Compile Include="Constants1.cs" Condition="'$(Configuration)'=='Debug'" />
    <Compile Include="Constants2.cs" Condition="'$(Configuration)'=='Release'" />

最后保存并重新加载您的项目。现在,一次只会实际构建一个文件,具体取决于您的构建配置。

于 2008-12-05T10:20:35.243 回答
0

您可以向项目添加预构建或构建后任务,您可以从那里访问 ConfigurationName。做类似“复制Web.config.debug Web.config”之类的事情会相当容易

于 2008-12-03T19:15:13.667 回答
0

除此之外,MS 还承诺在 VS 2010 中添加此功能。

于 2008-12-03T22:50:09.583 回答
0

您在“应用程序设置”下是什么意思?调试或发布等每个配置的项目属性?或者他们每个人的 defirent app.conf 文件?

如果首先,您可以创建许多具有合适设置的配置,然后使用 Batch Build 依次构建它们。 http://msdn.microsoft.com/en-us/library/169az28z.aspx

或者如谷歌忍者所说,使用预构建任务:del Web.config app.config copy Web.config.Debug Web.config(在它之前创建多个配置文件)

于 2008-12-03T23:00:52.497 回答