如何解决“找不到类型或名称空间名称'Didstopia'(您是否缺少using指令或程序集引用?)”

问题描述 投票:0回答:1

[我正在使用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的信息,它不喜欢软件包参考吗?

compiler-errors nuget nuget-package visual-studio-2019 .net-standard-2.0
1个回答
1
投票

我不确定下一步该怎么做。反正还有更多编译器提供的有关为何不喜欢该软件包的信息参考?

我认为这是nuget软件包Didstopia.PDFSharp 1.0.0-beta8的问题。在我这边,当我将此包安装在一个网络标准2.0类库项目中时,我遇到了与您描述的相同的问题,对此感到很奇怪。

作为建议,请像这样删除<IncludeAssets>的内容:

<IncludeAssets></IncludeAssets>

此标签将消耗nuget软件包的内容,使用它时,您不能引用dll的内容。请参阅this

此外,由于此问题与软件包本身更为相关,并且它是Beta版,预发行版,可能会出现一些问题,建议您与the author联系并报告此问题。

希望它可以帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.