29

所以我在 VS 14 CTP 中有一个 ASP .NET vNext 项目。我的目标是 .NET Framework 4.5.1。我添加了对 NuGet 包的引用,该包没有特定于 vNext 的构建。

Visual Studio 现在在编辑器 / Intellisense 中显示包的用法,没有错误。但是在编译时,我得到“找不到命名空间'MyPackage'”错误。

我的理解是,只要我以现有的 .NET Framework 4.5.1 为目标,我就可以添加对 .NET Framework 程序集的引用。不是这样吗?我可以解决这个错误吗?

4

2 回答 2

18

如果您在 project.json 中同时列出了 k10 和 net451 框架,VS 14 默认会针对这两个框架构建项目。在这种情况下,如果没有为 k10 框架构建任何程序集,则构建将失败并出现未找到包的错误。所以 net 451 包应该专门添加到 project.json 的 net451 部分。我只是粘贴一个示例 project.json,其中 Microsoft.Bcl 包在 net451 部分中列出

{
"dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-*",
    "Microsoft.AspNet.Mvc": "6.0.0-*"
    <more packages>
},
"configurations": {
    "net451": {
        "dependencies": {
            "Microsoft.Bcl": "1.1.9"
            }        
  }
 }
}
于 2014-09-01T04:32:44.740 回答
4

根据Visual Studio 2015 CTP 5 中的 ASP.NET 改进,您将能够从 vNext 项目中引用标准项目。您可以通过右键单击“添加引用”菜单或手动将其添加到依赖项下的project.json执行此操作。

只需避免循环引用(A 引用 B 和 B 引用 A),因为这将导致 Visual Studio 每 5 秒自动刷新一次窗口的焦点。

于 2015-01-21T14:40:40.583 回答