Я пытаюсь создать пакет nuget, объединив файл .nuspec и .csproj.
Мой файл .csproj выглядит следующим образом:
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Authors>Author name</Authors>
<Company>Company name</Company>
<RepositoryUrl>RepositoryURL</RepositoryUrl>
<VersionPrefix>0.0.1</VersionPrefix>
<PackageId>SomeID</PackageId>
<Description>Description</Description>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<NuspecFile>Projectname.nuspec</NuspecFile>
</PropertyGroup>
Мой файл .nuspec выглядит следующим образом:
<?xml version="1.0"?>
<package>
<files>
<file src=" somefile.json" target="lib" />
</files>
</package>
Теперь, когда я пытаюсь включить dotnet pack
. Файл csproj завершается с ошибкой:
The required element 'metadata' is missing from the manifest.
Я также попробовал несколько вещей здесь.
Попытка явного сопоставления свойств, как указано здесь: Невозможно упаковать пакет NuGet с использованием CLI dotnet и файла nuspec , но произошла ошибка с теми же ошибками
Попытка поместить явный тег metadata
в файл .nuspec. например, <metadata>$PackageId</metadata>
, надеясь, что он будет извлекать $package
из файла .csproj, но это завершится ошибкой со следующей ошибкой:
The required element 'id' is missing from the manifest.
Как я могу объединить оба. csproj и .nuspec сделать dotnet pack
, не сталкиваясь с этой ошибкой? Я почти уверен, что возможно только то, что мне чего-то не хватает.
Есть предложения?
В манифесте отсутствует обязательный элемент 'id'.