Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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/1/database/9.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
在.NET4.6项目中使用带.NETStanard库的库构建_.net_.net Standard_.net 4.6 - Fatal编程技术网

在.NET4.6项目中使用带.NETStanard库的库构建

在.NET4.6项目中使用带.NETStanard库的库构建,.net,.net-standard,.net-4.6,.net,.net Standard,.net 4.6,有一些项目: 以.NET标准库为目标的库LibA 针对.NET Framework 4.6的应用程序Proj46 针对.NET Core 1.0的项目应用程序 利巴做了些什么: public static class Foo { public static void Bar() { using (var f = new FileStream("test.txt", FileMode.Create, FileAccess.Write))

有一些项目:

  • 以.NET标准库为目标的库LibA
  • 针对.NET Framework 4.6的应用程序Proj46
  • 针对.NET Core 1.0的项目应用程序
利巴做了些什么:

public static class Foo
{
    public static void Bar()
    {
        using (var f = new FileStream("test.txt", FileMode.Create, FileAccess.Write))
            Thread.Sleep(1);
        ThreadPool.QueueUserWorkItem(new WaitCallback((a) => { }));
    }
}
因此,它需要依赖关系

  • NETStandard.Library
  • System.Threading.ThreadPool
  • 系统线程
LibA project.json:

{
  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "System.Threading.ThreadPool": "4.0.10",
    "System.Threading.Thread": "4.0.0"
  },
  "frameworks": {
    "netstandard1.3": { }
  }
}
Proj46使用LibA:

LibA.Foo.Bar();
运行时有一个FileNotFoundException,它说:“文件或程序集”System.IO.FileSystem,Version=4.0.1.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a“找不到”。为了工作,我必须将所有依赖项添加到Proj46

是否可以使用.NET标准库构建LibA,而不必将其所有依赖项安装到任何上游项目? NET46实现.NETStandard1.3。因此,不应要求将其作为依赖项

编辑:


在Proj46中添加nuget包“NETStandard.Library”、“System.Threading.Thread”和“System.Threading.ThreadPool”后,例外情况消失了。

如果您提供一个。您已经向我们展示了一些部分(project.json文件中的一个,但不是另一个)和一些错误消息,但不是全部。两个C#文件和两个project.json文件—因此我们可以复制这些文件—将使事情变得更简单。(据我所知,我认为ProjC在这里不相关……)您确定您指定的是“.NETStandard1.3”而不是“NETStandard1.3”吗?我知道这不是一个框架名称……我提到ProjC只是为了完整性,为了证明目标是.NET标准。(我将提供一个示例。)当前工具已损坏。等待它的RTM构建。@LexLi很好!.NET标准的工具是否包含在“.NET Core 1.0.0 SDK”中?github上有问题吗?NET内核是1.0 RTM,但它的SDK以及其他工具都是Preview 2。认为这是一个巨大的障碍,每个人都应该谨慎。我个人建议等待工具RTM,而不是在互联网上寻找各种解决方法。如果你能提供一个。您已经向我们展示了一些部分(project.json文件中的一个,但不是另一个)和一些错误消息,但不是全部。两个C#文件和两个project.json文件—因此我们可以复制这些文件—将使事情变得更简单。(据我所知,我认为ProjC在这里不相关……)您确定您指定的是“.NETStandard1.3”而不是“NETStandard1.3”吗?我知道这不是一个框架名称……我提到ProjC只是为了完整性,为了证明目标是.NET标准。(我将提供一个示例。)当前工具已损坏。等待它的RTM构建。@LexLi很好!.NET标准的工具是否包含在“.NET Core 1.0.0 SDK”中?github上有问题吗?NET内核是1.0 RTM,但它的SDK以及其他工具都是Preview 2。认为这是一个巨大的障碍,每个人都应该谨慎。我个人建议等待工具RTM,而不是在互联网上寻找各种解决方法。