我已经创建了一些帮助程序库(NuGet),它们在我的各种.Net FullFramework和.Net Core应用程序中都可以正常工作。
但是,当我将它们添加到特别复杂的Asp.Net MVC(.Net 4.7.2)Web应用程序中时,出现以下错误:
在“输出”窗口中,最后几个显示为:
ASPNETCOMPILER:错误CS0455:类型参数'T'继承了冲突约束'System.IFormattable'和'System.IComparable'
我的NuGet软件包(A,B,C D和E)本身具有以下NuGet软件包:
PackageA-<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
PackageB-<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
PackageC-<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
PackageD-<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
PackageE-<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
[我已经尝试过以下方法,或者一起尝试,或者一次尝试...没有运气。
<Reference Include="netstandard" />
已添加到我的* .csprog文件中最后,通过从以下位置更改我的web.config解决了此问题>
<compilation debug="true" targetFramework="4.7.2" />
to
<compilation debug="true" targetFramework="4.7.2" > <assemblies> <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"/> </assemblies> </compilation>
感谢David Sekar的此帖。