在 c# (linux) 中找不到 PrivateFontCollection 错误

Posted

技术标签:

【中文标题】在 c# (linux) 中找不到 PrivateFontCollection 错误【英文标题】:PrivateFontCollection not found Error in c# (linux) 【发布时间】:2021-07-01 22:32:27 【问题描述】:

我正在使用命令dotnet build,以便使用.NET 5.0 在Ubuntu 20.04 的MonoGame 框架中构建游戏。 在 Windows 中很好,但现在我在这里使用它,它给了我这个错误:

错误 CS1069:在命名空间“System.Drawing.Text”中找不到类型名称“PrivateFontCollection”。此类型已转发到程序集 'System.Drawing.Common, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 考虑添加对该程序集的引用。 [/home/mrwoto/Ali/Programming/csharp/SAO/SAO/SAO.csproj]

那么,有没有办法解决呢?如何在.csproj 文件中添加对它的引用?

【问题讨论】:

【参考方案1】:

一种选择是从终端添加它

dotnet add package System.Drawing.Common

在此之后,您应该能够在.csproj 文件中看到类似以下内容。

<PackageReference Include="System.Drawing.Common" Version="5.0.2" />

请注意,dotnet add 不仅仅是向 csproj 添加一些文本。

来自dotnet add package:

dotnet add package 命令提供了一个方便的选项来将包引用添加到项目文件。运行命令后,会进行兼容性检查,以确保包与项目中的框架兼容。如果检查通过,则会将&lt;PackageReference&gt; 元素添加到项目文件并运行 dotnet restore。

【讨论】:

以上是关于在 c# (linux) 中找不到 PrivateFontCollection 错误的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中找不到创建的目录 [重复]

在 C# 中找不到 C++ COM DLL 中的导出函数

SerializationException:在 c# unity3d 中找不到类型'System.Collections.Generic.List`1

错误:测试预测时“在签名 def 中找不到服务默认值”

超越代码暴露 |暴露:在linux中找不到命令错误

模拟器在内核映像文件中找不到“Linux 版本”字符串