[我正在使用VS2019,试图构建一个使用Didstopia.PDFSharp .NET Standard 2.0 nuget包的简单.NET Standard 2.0类库。
这是从我的.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包。
我不确定下一步该怎么做。无论如何,有什么可以从编译器中获得有关why的信息,它不喜欢软件包参考吗?
我不确定下一步该怎么做。反正还有更多编译器提供的有关为何不喜欢该软件包的信息参考?
我认为这是nuget软件包Didstopia.PDFSharp 1.0.0-beta8
的问题。在我这边,当我将此包安装在一个网络标准2.0类库项目中时,我遇到了与您描述的相同的问题,对此感到很奇怪。
作为建议,请像这样删除<IncludeAssets>
的内容:
<IncludeAssets></IncludeAssets>
此标签将消耗nuget软件包的内容,使用它时,您不能引用dll的内容。请参阅this。
此外,由于此问题与软件包本身更为相关,并且它是Beta版,预发行版,可能会出现一些问题,建议您与the author联系并报告此问题。
希望它可以帮助您。