我使用VS2019试图构建一个简单的.NET Standard 2.0类库,该类库使用Didstopia.PDFSharp.NET Standard 2.0 nuget包。
以下是从我的.csproj文件开始的最小复制:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Didstopia.PDFSharp" Version="1.0.0-beta8">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>
这是我的Class1.cs文件:
using System;
using Didstopia.PDFSharp;
namespace ClassLibrary1
{
public class Class1
{
}
}
当我编译时,我得到以下消息:
Class1.cs(2,7,2,16): error CS0246: The type or namespace name 'Didstopia' could not be found (are you missing a using directive or an assembly reference?)
在Visual Studio中,在Class1的代码编辑窗口中,"using Didstopia.PDFSharp"行中的Didstopia用红色下划线。
如果不是使用包引用,而是使用包文件夹中对Didstopia.PDFSharp.dll的程序集引用,则类库编译良好。
如果我分叉、克隆并添加一个项目引用到Didstopia.PDFSharp.dll,一切都会编译得很好。
我已经做了"清理",删除了bin&obj文件夹中,无数次从C:\Users\[myuserid]\.nuget\packages\Didstopia.pdfsharp文件夹中删除了Didstopia包。
我甚至不知道下一步该做什么。是否可以从编译器中获得更多关于为什么不喜欢包引用的信息?
我甚至不知道下一步该做什么。还有更多的吗来自编译器的关于它不喜欢该包的原因的信息参考
我认为这是nuget包Didstopia.PDFSharp 1.0.0-beta8
的问题。就我而言,当我在一个网络标准2.0类库项目中安装这个包时,我遇到了和你描述的相同的问题,对此感到非常奇怪
作为建议,请删除<IncludeAssets>
的内容,如下所示:
<IncludeAssets></IncludeAssets>
此标记将使用nuget包的内容,当您使用它时,无法引用dll的内容。请看这个。
此外,由于此问题更多地与软件包本身有关,而且它是测试版、预发布版,可能存在一些问题,我建议您可以与作者联系并报告此问题。
希望它能帮助你。