gpt4 book ai didi

c# - 可移植类库在 .NET 4.6 中没有 DataContract 或序列化函数

转载 作者:太空狗 更新时间:2023-10-30 00:50:21 26 4
gpt4 key购买 nike

刚刚在全新的Windows 10上拿出了全新的Visual Studio 2015。我尝试创建一个简单的可移植类库(PCL),并尝试添加一个简单的数据契约:

namespace ClassLibrary1
{
using System.Runtime.Serialization;

[DataContract]
public class Class1
{
}
}

编译器告诉我:

The type or namespace name 'DataContract' could not be found (are you missing a using directive or an assembly reference. It appears the namespace System.Runtime.Serialization is missing when .NET 4.6 is selected as the target.

当为目标选择 .NET Framework 4.6 时,似乎没有可用的序列化。如果我退回到 .NET 4.5.1,则可以编译相同的代码(并在更复杂的项目中运行)。这里发生了什么? .NET 4.6 还没有为 Visual Studio 中的 Prime Time 做好准备吗?还有其他人遇到过这个吗?

最佳答案

这里有同样的问题,看来解决方案是将相关的 NuGet 包添加到包含已移出 Core 的功能的项目中。具体来说,您需要 Serialization Primitives ,但我在下面包含了 project.json 文件,它可能更接近您在实际配置(依赖项等)方面想要的内容

This site还有一个用于 .NET 5 包的各种“搜索引擎”,这基本上就是您在这里所做的。

{
"supports": {
"net46.app": {},
"uwp.10.0.app": {},
"dnxcore50.app": {}
},
"dependencies": {
"Microsoft.NETCore": "5.0.0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.0",
"System.Collections": "4.0.10",
"System.Collections.Specialized": "4.0.0",
"System.Linq": "4.0.0",
"System.Linq.Expressions": "4.0.10",
"System.Linq.Queryable": "4.0.0",
"System.Net.Requests": "4.0.10",
"System.Runtime": "4.0.20",
"System.Runtime.Serialization.Primitives": "4.0.10",
"System.Runtime.Serialization.Json": "4.0.0",
"System.Runtime.Serialization.Xml": "4.0.10"
},
"frameworks": {
"dotnet": {
"imports": "portable-net452+win81"
}
}
}

关于c# - 可移植类库在 .NET 4.6 中没有 DataContract 或序列化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32094383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com