从命令行为 Visual Studio 项目创建新配置
Create a new configuration for Visual Studio Project from command line
我想通过命令行为 Visual Studio 项目创建一个配置,以便使我的发布过程自动化。通常你会进入 Visual Studio,创建一个新的配置,在下拉菜单中创建要复制的 select(在我的例子中,这将是 Release)和 select 平台。我想从命令行做同样的事情。
我试过以下方法:
MSBuild <mysolution>.sln -p:Configuration=<newconfigname>
但是我收到 MSB4126 错误,告诉我配置无效。我还阅读了有关 MSBuild 的文档,但它对此没有任何说明。我什至不确定这是否可以使用 MSBuild 来实现。我正在使用 Wix Installer 来编译 .msi,它可以完美地工作,但它正在构建发布配置,而不是我想要构建的配置(自定义发布)。
任何人都可以阐明这个问题吗?
我通过修改一些文件解决了。
您需要修改 .sln 文件以添加您的发布类型:
NewRelease|Any CPU = NewRelease|Any CPU
NewRelease|ARM = NewRelease|ARM
NewRelease|x64 = NewRelease|x64
NewRelease|x86 = NewRelease|x86
如果您有子模块,请一并添加。如果您对需要添加的内容有疑问,请在 Visual Studio 中创建一个新配置,然后从您使用 Visual Studio 创建的配置中复制粘贴,只在需要的地方更改配置的名称。
您需要修改主项目(不是 WixInstaller 项目)的 .csproj 文件,例如:
<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
.
我想通过命令行为 Visual Studio 项目创建一个配置,以便使我的发布过程自动化。通常你会进入 Visual Studio,创建一个新的配置,在下拉菜单中创建要复制的 select(在我的例子中,这将是 Release)和 select 平台。我想从命令行做同样的事情。
我试过以下方法:
MSBuild <mysolution>.sln -p:Configuration=<newconfigname>
但是我收到 MSB4126 错误,告诉我配置无效。我还阅读了有关 MSBuild 的文档,但它对此没有任何说明。我什至不确定这是否可以使用 MSBuild 来实现。我正在使用 Wix Installer 来编译 .msi,它可以完美地工作,但它正在构建发布配置,而不是我想要构建的配置(自定义发布)。
任何人都可以阐明这个问题吗?
我通过修改一些文件解决了。
您需要修改 .sln 文件以添加您的发布类型:
NewRelease|Any CPU = NewRelease|Any CPU
NewRelease|ARM = NewRelease|ARM
NewRelease|x64 = NewRelease|x64
NewRelease|x86 = NewRelease|x86
如果您有子模块,请一并添加。如果您对需要添加的内容有疑问,请在 Visual Studio 中创建一个新配置,然后从您使用 Visual Studio 创建的配置中复制粘贴,只在需要的地方更改配置的名称。
您需要修改主项目(不是 WixInstaller 项目)的 .csproj 文件,例如:
<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
.