Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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# 引用新类库(包)的ASP.NET 5 Web应用程序_C#_Asp.net_Asp.net Core_Asp.net Core Mvc_Nuget Package - Fatal编程技术网

C# 引用新类库(包)的ASP.NET 5 Web应用程序

C# 引用新类库(包)的ASP.NET 5 Web应用程序,c#,asp.net,asp.net-core,asp.net-core-mvc,nuget-package,C#,Asp.net,Asp.net Core,Asp.net Core Mvc,Nuget Package,我正在创建一个包含ASP.NET 5 MVC Web应用程序的大型解决方案,该应用程序针对以下框架: "frameworks": { "dnx451": { }, "dnxcore50": { } }, "frameworks": { "net451": { }, "dotnet5.4": { "dependencies": { "Microsoft.CSharp": "4.0.1-beta-23516",

我正在创建一个包含ASP.NET 5 MVC Web应用程序的大型解决方案,该应用程序针对以下框架:

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },
  "frameworks": {
    "net451": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }
我的解决方案中有几个新类库(包),用于业务层、数据层等。。所有这些库都针对以下框架:

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },
  "frameworks": {
    "net451": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }
与我的MVC web应用程序一样,我有一些针对以下框架的测试项目:

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },
在做了大量研究之后,我发现任何像我的mvc应用程序和测试库这样的项目都应该以dnx为目标,而充当类库的项目应该只保留它们的默认值并以net/dotnet5.4为目标


有人能告诉我我做错了什么吗,因为在我的MVC Web应用程序中,我无法引用类库(DAL、BLL)中的项,除非我将dnx451添加到它们中…

您的Web应用程序中有“dnxcore50”,dll中有“dotnet5.4”,它们可能是不同的引用库集。要么你的类库应该以“dnxcore50”为目标,要么你的Web应用应该以“dotnet5.4”为目标,以及它的所有依赖项为目标。我刚刚解决了类似的问题

实际上,问题不在于无法引用类库,而在于缺少Intellisense的支持。您可以在应用程序的project.json中手动引用类库,然后在应用程序中使用类库中的类。应用程序将构建并运行良好。至少我的车确实造好了,而且还在运转。但VS仍然会用红色突出显示类库中的类,并显示“无法解析符号”警告消息

为了添加对Intellisense的支持,我从应用程序的project.json中删除了“dnxcore50”,并添加了“net451”。现在,我在应用程序中有了以下project.json:

  "frameworks": {
    "net451": { },
    "dnx451": { }
  },

我不能只引用“net451”,因为那时我无法启动应用程序。DNX刚刚以代码1退出。但是有了Intellisense支持的“net451”和DNX支持的“dnx451”,我可以继续我的项目,等待ASP.NET Core的RC2中的正确解决方案。

所以我应该尝试用dnxcore50替换dotnet5.4,并将net451保留在我的类库中?我已经尝试使所有项目都引用dnx451和dnxcore50,但是类库似乎在系统名称空间方面存在问题。你会认为,如果每个项目只针对dnx451和dnxcore50,我就不会有任何问题,对吗?这个新系统是如此混乱,而且没有使用ASP.NET5和类库的例子,所以它非常令人沮丧。相同,相同,但不同。问题是目标框架是完全不同的库集。如果您说它是dnxcore,这意味着它将在dxncore环境中工作,并且需要dnxcore库。因此,您的所有引用都应该在这些环境中有效。是的,假设使用dnxcore50替换dotnet5.4可以使其暂时工作,您只需将类库更改为目标dnxcore50,使其与您的web应用程序匹配。rc2之后,将有新的目标名字的使用指南,因此无论您说的项目类型是什么,您都希望稍后重新访问OK,所有内容都应该匹配webapp默认值,即dnx451和dnxcore50正确吗?这将使其正常工作,目前还可以,这是我在自己的项目中正在做的事情,但我希望在所有位停止移动后有新的指导。当您引用这些库时,您将其添加到外部的依赖项部分,dnx451和dnxcore50的依赖项是否正确?例如:“BusinessLibrary”:“1.0.0-*”是的,您自己的项目放在主DEP中,在dotnet5.4下的项目放在dnxcore50下