【问题标题】:Create a new configuration for Visual Studio Project from command line从命令行为 Visual Studio 项目创建新配置
【发布时间】:2020-02-24 10:27:02
【问题描述】:
我想从命令行为 Visual Studio 项目创建一个配置,以便自动化我的发布过程。通常,您会进入 Visual Studio,创建一个新配置,在下拉菜单中选择要从中复制的构建(在我的情况下,这将是发布)并选择平台。我想从命令行做同样的事情。
我尝试了以下方法:
MSBuild <mysolution>.sln -p:Configuration=<newconfigname>
但我收到 MSB4126 错误,告诉我配置无效。我还阅读了有关 MSBuild 的文档,但没有说明任何内容。我什至不确定这是否可以使用 MSBuild 来实现。我正在使用 Wix 安装程序来编译一个 .msi,它可以完美运行,但它正在构建发布配置,而不是我想要构建的配置(自定义发布)。
谁能解释一下这个问题?
【问题讨论】:
标签:
visual-studio
msbuild
wix
【解决方案1】:
我通过修改一些文件解决了这个问题。
您需要修改您的 .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.