MSBuild 15 csproj с NuSpecFile
Мы работаем над переходом на csproj в стиле восстановления PackageReference, но у нас есть много nuspec для таких проектов, которые зависят от поведения CLI пакета nuget по умолчанию. В частности:
- замена версии
- автогенерация раздела зависимостей
- автоматическая генерация файлов раздела
По сути, я хочу запустить dotnet pack на csproj и заставить его использовать csproj для генерации файлов, зависимостей и версии, но существующий файл nuspec для остальных метаданных.
Если я указываю NuSpecFile в csproj, он правильно использует файл nuspec, но больше не генерирует файлы, зависимости или версию на основе csproj.
1 ответ
Функциональность упаковки на основе MSBuild.NET SDK имеет возможность либо создать файл nuspec для использования для упаковки (по умолчанию), либо использовать предоставленный пользователем файл nuspec (NuSpecFile
свойство) для генерации пакета.
Нет никакой функциональности, чтобы смешивать эти подходы.
Я предлагаю поместить все необходимые метаданные в файл csproj. См. Документацию по цели пакета для получения списка свойств MSBuild, которые можно использовать для управления метаданными пакета.
Если вы хотите поделиться метаданными между несколькими проектами, создайте Directory.Build.props
файл в корневой папке вашего решения (иерархия каталогов в или выше всех проектов) с содержимым, которым вы хотите поделиться:
<Project>
<PropertyGroup>
<Authors>shared authors value</Authors>
<PackageProjectUrl>https://something</PackageProjectUrl>
…
</PropertyGroup>
</Project>