我正在尝试根据(遗留) .NET标准2.0在项目中使用System.Drawing.Common。如果我尝试以标准2.1为目标,我会遇到我的一个依赖项pythonnet的兼容性问题,所以我需要坚持使用2.0,直到pythonnet有了对.NET标准的官方支持。目前,如果我的程序集针对.NET标准2.0,pythonnet可以导入我的程序集,但对于.NET标准2.1,pythonnet不能。
为了与.NET标准2.0兼容,可用的最新软件包是System.Drawing.Common 4.5.1。安装此程序后,我的解决方案将构建,但在运行时收到以下错误
System.PlatformNotSupportedException: 'System.Drawing is not supported on this platform.'根据this page的说法,这个版本的System.Drawing.Common包应该能够针对.NET标准2.0。我发现NuGet包包含几个用于不同平台的System.Drawing.Common.dll文件,但文件版本为4.6.2。

我是否遗漏了什么,或者这是NuGet包中的错误?看起来情况就是这样。
发布于 2020-02-23 09:26:53
版本号不是问题。不要求或保证程序集版本、文件版本或包版本中的任何一个都匹配。
PlatformNotSupportedException将来自其他一些问题,尽管浏览一下包我不太确定是什么。这在很大程度上取决于你的项目是如何实际构建和运行的。
发布于 2021-02-12 06:55:19
我的问题是,我有2 .NET核心应用程序项目,其中一个是依赖于另一个(这样我就可以从另一个应用程序执行应用程序)。.NET核心应用程序的问题是,它们需要额外的文件才能工作(如<assembly name>.deps.json (罪魁祸首)和<assembly name>.runtimeconfig.json),并且出于某种原因,它们不会被复制到build上。
我所做的原始解决方案是将复制命令添加到依赖项目的build events中,如下所示
COPY "$(SolutionDir)<dependency project>\$(OutDir)<assembly name>.runtimeconfig.json" "$(SolutionDir)$(ProjectName)\$(OutDir)" /Y
COPY "$(SolutionDir)<dependency project>\$(OutDir)<assembly name>.deps.json" "$(SolutionDir)$(ProjectName)\$(OutDir)" /Y但是手工复制它们也应该能起到这个作用。
https://stackoverflow.com/questions/60358163
复制相似问题