У меня есть проект, использующий пакеты NuGet. Это также должно предназначаться для различных версий платформы для конфигурации конфигурации. Я выложил их в моем файле csproj примерно так:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '2018|x64'">
<OutputPath>..\BuildFolder\2018</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '2019|x64'">
<OutputPath>..\BuildFolder\2019</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
У меня больше конфигураций сборки, чем это, но это примеры, где у меня есть две разные платформы. Проблема в том, что когда я пытаюсь выполнить пакетную сборку проекта со всеми конфигурациями выпусков, половина из них терпит неудачу в зависимости от того, какой у меня текущий конфиг. Используя два приведенных выше, я могу переключить VS на свою конфигурацию 2018 и выполнить восстановление NuGet, затем выполнить пакетную сборку, и 2018 сработает, а 2019 потерпит неудачу с ошибкой «Ваш проект не ссылается на .NET Framework 4.7». Если затем я переключаюсь на конфигурацию 2019 и выполняю восстановление NuGet, а затем пытаюсь выполнить пакетную сборку, я получаю обратное;2019 работает, а 2018 говорит мне: «Ваш проект не ссылается на .NET Framework 4.6.1».
Я также пытался вставить объект 'TargetFrameworks' в файл csproj, но тогда VS просто вращается и вращается при открытии и никогда не открывает проект.
Как мне заставить это работать ираспознать его для сборки всех конфигов в пакетном режиме? Полагаю, я мог бы построить их по отдельности, и пока придется, но это кажется трудоемким и ненужным ...