【发布时间】:2020-05-19 01:55:17
【问题描述】:
我必须要打包一个库并在其他项目中使用。这个库引用了另一个项目,我不想作为一个包发布。为了将它包含在包中,我在 .cproj 文件中添加了以下几行:
<PropertyGroup>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
</PropertyGroup>
<Target Name="CopyProjectReferencesToPackage" DependsOnTargets="ResolveReferences">
<ItemGroup>
<BuildOutputInPackage Include="@(ReferenceCopyLocalPaths->WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))" />
</ItemGroup>
</Target>
因此,我在 packages lib 文件夹中有两个 .dll,还有这种 nuspec 文件:
<?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>
但我再次收到此错误:
找不到包引用的项目名称。源中不存在具有此 ID 的包:Local Nuget、Microsoft Visual Studio Offline Packages、nuget.org
Visual Studio 似乎再次尝试将此依赖项作为 nuget 包查找。我该如何解决这个问题?
【问题讨论】:
标签: c# nuget nuget-package