visual-studio - 从命令行为 Visual Studio 项目创建新配置
问题描述
我想从命令行为 Visual Studio 项目创建一个配置,以便自动化我的发布过程。通常,您会进入 Visual Studio,创建一个新配置,在下拉菜单中选择要从中复制的构建(在我的情况下,这将是发布)并选择平台。我想从命令行做同样的事情。
我尝试了以下方法:
MSBuild <mysolution>.sln -p:Configuration=<newconfigname>
但是我收到 MSB4126 错误,告诉我配置无效。我还阅读了有关 MSBuild 的文档,但它没有说明这一点。我什至不确定这是否可以使用 MSBuild 来实现。我正在使用 Wix 安装程序来编译一个 .msi,它可以完美地工作,但它正在构建发布配置,而不是我想要构建的配置(自定义发布)。
任何人都可以对这个问题有所了解吗?
解决方案
我通过修改一些文件来解决它。
您需要修改.sln文件以添加发布类型:
NewRelease|Any CPU = NewRelease|Any CPU
NewRelease|ARM = NewRelease|ARM
NewRelease|x64 = NewRelease|x64
NewRelease|x86 = NewRelease|x86
如果您有子模块,也请添加它们。如果您对需要添加的内容有疑问,请在 Visual Studio 中创建一个新配置,然后从您使用 Visual Studio 创建的配置中复制粘贴,在需要时仅更改配置的名称。
您需要修改主项目的.csproj文件(不是 WixInstaller 文件),例如:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NewRelease|AnyCPU'">
<OutputPath>bin\NewRelease\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
而且,再一次,如果您有子模块,您必须修改每个.csproj文件以包含您的新版本(从其他版本复制)。
最后,编译它:
MSBuild <yourmainproject>.csproj -p:Configuration=NewRelease
.