Web Services 类型“System.Object”在未引用的程序集中定义,必须添加对程序集“netstandard”的引用

ttcibm8c  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(443)

我已经创建了一个.NET标准库(2.0),它正在调用一个Web服务(用.NET框架编写)。当我调用Web服务的方法时,我得到下面的错误。

Unable to generate a temporary class (result=1).
error CS0012: The type 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
error CS0012: The type 'System.Enum' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.

我使用的是VS 2019企业版(版本16.4.0)。

zysjyyx4

zysjyyx41#

如果您可以控制netstandard项目-请将其设为多目标以解决问题

<PropertyGroup>
    <TargetFrameworks>netstandard2.0;net471</TargetFrameworks>
</PropertyGroup>

我混合了.Net 4.7.1和netstandard 2.0项目--对这两个项目中的混合类进行序列化失败,并出现了上述错误。经过长时间的调查和不幸的解决方案,我发现了该线程披露的根本原因。微软以“不会修复,使用多目标”https://github.com/dotnet/runtime/issues/21373关闭了该线程

相关问题