Как Nuget определяет версию фреймворка?
В моем пакете nuget есть dll:s для разных версий.Net framework. Один для CLR2 и один для CLR4.
net20/mylibrary.dll
net40/mylibrary.dll
Это прекрасно работает, когда я использую пакет, например, в проектах.Net 3.5 и.Net 4.
Иногда у меня есть проекты, которые работают как с.Net 3.5, так и.Net 4. Это выполняется через 2 конфигурации проекта. В одном случае я собираю версию.Net 4 из конфигурации "Debug", а версию.Net 3.5 из конфигурации "Release". Обе конфигурации должны использовать net20
Рекомендации.
Мой файл csproj выглядит так:
<PropertyGroup>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
...
</PropertyGroup>
Nuget всегда установит net40
сборки, которые нарушают сборку "Release".
В данный момент я вручную меняю net40
в net20
в файле.csproj после установки / обновления. Есть ли способ избежать редактирования?