Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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标准2.0类库在添加引用时产生错误_C#_.net_.net Standard_Class Library - Fatal编程技术网

C# .net标准2.0类库在添加引用时产生错误

C# .net标准2.0类库在添加引用时产生错误,c#,.net,.net-standard,class-library,C#,.net,.net Standard,Class Library,创建了一个.net标准2.0类库,然后将其用于以.netframework 4.6.1和dot net core 2.1为目标创建的控制台应用程序中。运行web应用程序时引发了blow异常 无法加载文件或程序集“ChoETL.JSON.Core,版本=1.1.0.5,区域性=中立,PublicKeyToken=null”。系统找不到指定的文件 我在.net核心web应用程序中使用项目引用测试了同一个库,并没有出现错误。当尝试使用已发布的DLL时,它会在核心和框架应用程序中显示错误 Dotnet标

创建了一个.net标准2.0类库,然后将其用于以.netframework 4.6.1和dot net core 2.1为目标创建的控制台应用程序中。运行web应用程序时引发了blow异常

无法加载文件或程序集“ChoETL.JSON.Core,版本=1.1.0.5,区域性=中立,PublicKeyToken=null”。系统找不到指定的文件

我在.net核心web应用程序中使用项目引用测试了同一个库,并没有出现错误。当尝试使用已发布的DLL时,它会在核心和框架应用程序中显示错误

Dotnet标准类库项目文件为


    <Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
     <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="ChoETL.JSON.NETStandard" Version="1.1.0.5-beta3" />
      <PackageReference Include="ChoETL.NETStandard" Version="1.1.0.5-beta3" />
      <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
     </ItemGroup>
    </Project>


netstandard2.0
包装参考
早期添加项目引用时为.netframework 4.6.1,它显示相同的错误,然后在属性组(项目文件)中添加以下设置,它将消失

<DependsOnNETStandard>true</DependsOnNETStandard>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle> 
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
true
包装参考
真的

是否有合适的方法发布dotnet标准库,使其既能运行.netframework 4.6.1又能运行.netframework 2.1

这应该作为一个可传递的依赖项来使用(您甚至不需要ChoETL.NETStandard依赖项,因为ChoETL.JSON.NETStandard应该以可传递的方式添加它);您在.NET Framework项目中使用的构建工具是什么?注:4.6.1有点不可靠。。。加载程序在那里尤其糟糕,但坦率地说,使用.NET标准的.NET Framework存在很多问题;在.NET Framework 4.7.2和4.8中,情况变得更好了,但特别是:“我使用的是针对net461的旧版本Visual Studio和旧式cspoj”,与“我使用的是最新的Visual Studio/.NET核心命令行工具,以及针对net461的新型csproj”之间有很大区别。我删除了ChoETL.NETStandard依赖项,还是同样的错误