Невозможно найти пакет ***. В источнике (ах) нет пакетов с этим идентификатором: «Local Nuget», автономные пакеты Microsoft Visual Studio, nuget.org - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть одна библиотека, которую я хочу упаковать и использовать в других проектах. Эта библиотека имеет ссылку на другой проект, который я не хочу публиковать sh как пакет. Чтобы включить его в пакет, я добавил следующие строки в файл .cproj:

 <PropertyGroup>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
      </PropertyGroup>

      <Target Name="CopyProjectReferencesToPackage" DependsOnTargets="ResolveReferences">
        <ItemGroup>
          <BuildOutputInPackage Include="@(ReferenceCopyLocalPaths-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))" />
        </ItemGroup>
      </Target>

В результате у меня есть как .dll в папке lib пакетов, так и файл nuspe c:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>NugetSample</id>
    <version>1.0.1</version>
    <authors>NugetSample</authors>
    <owners>NugetSample</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Package Description</description>
    <dependencies>
      <group targetFramework=".NETCoreApp3.1">
        <dependency id="referenced project name" version="1.0.0" exclude="Build,Analyzers" />
      </group>
    </dependencies>
  </metadata>
</package>

Но я снова получаю эту ошибку:

Невозможно найти имя проекта, на которое ссылается пакет. В источнике (ах) нет пакетов с этим идентификатором: Local Nuget, Microsoft Visual Studio Offline Packages, nuget.org

Кажется, что Visual Studio снова пытается найти эту зависимость как пакет nuget. Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 03 февраля 2020

Вы можете сохранить проект как простую ссылку на ваш основной проект, который вы хотите упаковать. Затем в файле nuspe c добавьте элемент links :

<references>
   <reference file="referencedfile.dll" />
</references>

, если хотите добавить простые файлы, также можно использовать элемент sibling files *. 1007 *:

<files>
    <file src="bin\$configuration$\referencedfile.pdb" target="lib\net461" />
</files>
...