Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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# Blazor WASM:对System.ComponentModel.DataAnnotations的引用导致发布版本时链接失败_C#_Blazor_Blazor Client Side_Blazor Webassembly - Fatal编程技术网

C# Blazor WASM:对System.ComponentModel.DataAnnotations的引用导致发布版本时链接失败

C# Blazor WASM:对System.ComponentModel.DataAnnotations的引用导致发布版本时链接失败,c#,blazor,blazor-client-side,blazor-webassembly,C#,Blazor,Blazor Client Side,Blazor Webassembly,我创建了一个新的Blazor WebAssembly项目,并在共享项目的模型中添加了一个[Display]属性: using System; using System.ComponentModel.DataAnnotations; public class WeatherForecast { [Display(Name = "Temperature")] public int TemperatureC { get; set; } ... } 这需要

我创建了一个新的Blazor WebAssembly项目,并在共享项目的模型中添加了一个[Display]属性:

using System;
using System.ComponentModel.DataAnnotations;

public class WeatherForecast
{
    [Display(Name = "Temperature")]
    public int TemperatureC { get; set; }
    ...
}
这需要引用
System.ComponentModel.DataAnnotations.dll
。但当我这样做,然后在发布模式下按Build时,编译器会抛出以下错误:

5>C:\Users\Ali\.nuget\packages\microsoft.aspnetcore.components.webassembly.build\3.2.1\targets\Blazor.MonoRuntime.targets(326,5): error : Unhandled exception. Mono.Linker.MarkException: Error processing method: 'System.Void System.Configuration.ConfigurationErrorsException::.ctor(System.String,System.Exception,System.String,System.Int32)' in assembly: 'System.Configuration.dll'
5> ---> Mono.Cecil.ResolutionException: Failed to resolve System.Configuration.ConfigurationException
5>   at Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference)
5>   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
5>   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
5>   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
5>   at Mono.Linker.Steps.MarkStep.ProcessQueue()
5>   --- End of inner exception stack trace ---
5>   at Mono.Linker.Steps.MarkStep.ProcessQueue()
5>   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
5>   at Mono.Linker.Steps.MarkStep.Process()
5>   at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
5>   at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
5>   at Mono.Linker.Pipeline.Process(LinkContext context)
5>   at Mono.Linker.Driver.Run(ILogger customLogger)
5>   at Mono.Linker.Driver.Execute(String[] args, ILogger customLogger)
5>   at Mono.Linker.Driver.Main(String[] args)
5>C:\Users\Ali\.nuget\packages\microsoft.aspnetcore.components.webassembly.build\3.2.1\targets\Blazor.MonoRuntime.targets(326,5): error : ILLink failed with exit code -532462766.

我知道,如果禁用链接功能,我可以传递错误,但我不想这样做,因为我想减少下载量。

我发现,我必须使用具有相同名称的Nuget包,而不是引用
System.ComponentModel.DataAnnotations.dll
,消除了链接错误。

我发现,我没有引用
System.ComponentModel.DataAnnotations.dll,而是必须使用具有相同名称的Nuget包,并且在使用Nuget包时,消除了链接错误