Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET Framework 4.7项目中的.NET标准类库_C#_.net_Asp.net Core_.net Standard 1.6 - Fatal编程技术网

C# .NET Framework 4.7项目中的.NET标准类库

C# .NET Framework 4.7项目中的.NET标准类库,c#,.net,asp.net-core,.net-standard-1.6,C#,.net,Asp.net Core,.net Standard 1.6,我想在.NET Framework 4.7解决方案和.NET核心解决方案之间共享代码,以便在AWS Lambda中使用 我创建了一个.NET标准1.6类库项目,并将一些代码从.NET Framework 4.7解决方案移到了这个项目中,以便共享它 除了一件事之外,所有这些都可以正常工作—代码用于由.NET解决方案中的BinaryFormatter序列化的DTO类 例如: [Serializable] public class BillableOptionalOperationDto {

我想在.NET Framework 4.7解决方案和.NET核心解决方案之间共享代码,以便在AWS Lambda中使用

我创建了一个.NET标准1.6类库项目,并将一些代码从.NET Framework 4.7解决方案移到了这个项目中,以便共享它

除了一件事之外,所有这些都可以正常工作—代码用于由.NET解决方案中的BinaryFormatter序列化的DTO类

例如:

[Serializable]
public class BillableOptionalOperationDto
{
    public string OperationDescription { get; set; }
    public string Note { get; set; }
    public decimal UnitPriceIncGst { get; set; }
}
我创建了一个polyfill,以便代码在.NET标准项目中编译

namespace System
{
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Delegate)]
    public class SerializableAttribute : Attribute
    {
    }
}
NET标准项目作为Nuget包发布到TeamCity中的Nuget服务器

在.NET Framework解决方案中,我(非常正确地)发现了以下错误:

错误CS0433类型“SerializableAttribute”在这两个数据库中都存在 'AutoGuru.Shared.Quoting,版本=1.0.0.0,区域性=中性, PublicKeyToken=null'和'mscorlib,版本=4.0.0.0,区域性=中性, PublicKeyToken=b77a5c561934e089'


有没有办法在.NET标准1.6类库中的类上使用BinaryFormatter?

您将无法使用.NET Core运行时使用BinaryFormatter进行序列化,但至少可以使用此nuget包进行交叉编译

请注意,尽管使用.NET标准的程序集绑定非常混乱,而且如果没有大量的程序集重定向,您的代码可以很好地编译,但在运行时会抛出assembly not found异常。据推测.NET标准2.0会解决这个问题,但我不会屏住呼吸