C # - Как создать пакет Nuget со ссылками - PullRequest
0 голосов
/ 08 октября 2018

У меня есть решение с 5 проектами, 2 - это .netstandard 2.0 и 3 - это .net core 2.1.Ссылки между проектами следующие:

  • Проект Api Ссылки Common и Models.
  • Проект Common не имеет ссылок.
  • Ссылки на проект «Логика» Common, «Модели» и «Интерфейсы».
  • Проект Interfaces Ссылки Models.
  • Проект Models Ссылки Common.

Я добавил этот Api.nuspec файл в корневую папку проекта Api, где файл Api.csproj:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>API</id>
    <version>1.0.0</version>
    <title>title</title>
    <authors>Liran Friedman</authors>
    <owners>Liran Friedman</owners>
    <licenseUrl></licenseUrl>
    <projectUrl></projectUrl>
    <iconUrl></iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>desc</description>
    <releaseNotes>Initial version</releaseNotes>
    <copyright>Copyright 2018</copyright>
    <tags>api</tags>
    <dependencies>
      <group targetFramework=".NETCoreApp2.1">
        <dependency id="Logic" version="1.0.0" exclude="Analyzers" />
        <dependency id="Models" version="1.0.0" exclude="Analyzers" />
        <dependency id="Microsoft.AspNetCore" Version="2.1.4" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.Authentication" Version="2.1.2" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.Authentication.Cookies" Version="2.1.2" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.1.2" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.Authorization" Version="2.1.2" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.CookiePolicy" Version="2.1.2" exclude="Build,Analyzers" />
        <dependency id="Microsoft.Extensions.DependencyInjection" Version="2.1.1" exclude="Build,Analyzers" />
        <dependency id="Newtonsoft.Json" Version="11.0.2" exclude="Build,Analyzers" />
        <dependency id="System.IdentityModel.Tokens.Jwt" Version="5.2.4" exclude="Build,Analyzers" />
      </group>
    </dependencies>
  </metadata>
  <files>
    <file src="C:\XXX\Api\bin\Release\netcoreapp2.1\Api.dll" target="lib\netcoreapp2.1\Api.dll" />
    <file src="C:\XXX\Logic\bin\Release\netcoreapp2.1\Logic.dll" target="lib\netcoreapp2.1\Logic.dll" />
    <file src="C:\XXX\Models\bin\Release\netcoreapp2.1\Models.dll" target="lib\netcoreapp2.1\Models.dll" />
  </files>
</package>

Я пытаюсь создать пакет nugetдля проекта Api и опубликуйте его в локальной общей папке в нашей рабочей сети.Я пробовал оба способа:

  • Щелкните правой кнопкой мыши по проекту и выберите pack
  • , работающий на cmd: nuget.exe pack Api.csproj -Build -IncludeReferencedProjects -Version 1.0.0 -OutputDirectory O:\Nugets -Properties Configuration=Release;Desc="desc";Authors="Liran Friedman"

Когда я ссылаюсь наnuget на моем локальном ПК работает нормально, но при обращении к нему с других компьютеров выдает ошибку NU1101, говорящую о том, что Models' and ссылки на логические символы отсутствуют.

Что я здесь не так делаю?

...