Создать новую конфигурацию для Visual Studio Project из командной строки - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу создать конфигурацию для проекта Visual Studio из командной строки, чтобы автоматизировать мой процесс выпуска. Обычно вы бы go заходили в Visual Studio, создавали новую конфигурацию, выбирали в выпадающем меню, из какой сборки выполнять копирование (в моем случае это будет Release), и выбирали платформы. Я хочу сделать то же самое из командной строки.

Я пробовал следующее: MSBuild <mysolution>.sln -p:Configuration=<newconfigname>

Но я получаю ошибку MSB4126, сообщающую, что конфигурация недопустима. Я также прочитал документацию по MSBuild, но она ничего не говорит об этом. Я даже не уверен, что этого можно достичь с помощью MSBuild. Я использую Wix Installer для компиляции MSI, и это работает безупречно, но он строит конфигурацию выпуска, а не ту, которую я хочу собрать (пользовательский выпуск).

Может кто-нибудь пролить свет на этот вопрос?

1 Ответ

0 голосов
/ 24 февраля 2020

Я решил это, изменив некоторые файлы.

Вам необходимо изменить файл .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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...