【问题标题】: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 &lt;yourmainproject&gt;.csproj -p:Configuration=NewRelease.

    【讨论】:

      猜你喜欢
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多