MVC 6参考问题

MVC 6 reference issue

我对 mvc6 中的程序集有一个非常模糊的问题。就在今天,我为我的解决方案安装了 ASP.NET beta 7(从这里:beta http://www.microsoft.com/en-us/download/details.aspx?id=48738&fa43d42b-25b5-4a42-fe9b-1634f450f5ee=True)和 mvc 6(通过 nuget 命令:Install-Package Microsoft.AspNet.Mvc -Pre ),之前一切正常我添加了一些引用,例如 Microsoft.VisualBasic 或 System.Drawing。现在我得到了,,找不到类型或名称空间名称”。我非常有信心将引用添加到程序集。还有其他人遇到过这个问题吗?尝试创建一个新项目并添加相同的引用 -同样的问题。此外,intellisense 工作正常,它仅在构建时存在引用问题。

UPD:这是 project.json

{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.AspNet.Mvc": "6.0.0-beta7",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta7"
  },

  "commands": {
    "web": "Microsoft.AspNet.Hosting --config hosting.ini"
  },

  "frameworks": {
    "dnx451": {
      "dependencies": {
        "SpreadsheetGear2012.Core": "1.0.0-*",
        "SpreadsheetGear2012.Drawing": "1.0.0-*"
      },
      "frameworkAssemblies": {
        "Microsoft.VisualBasic": "10.0.0.0",
        "System.Drawing": "4.0.0.0"
      }
    },
    "dnxcore50": { }
  },

  "publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc"
  ],
  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ]
}

问题是您同时针对 dnx451dnxcore50,但只在 dnx451 中添加了对 System.DrawingMicrosoft.VisualBasic 的依赖。当您编译时,它不知道如何在针对 dnxcore50 进行编译时解析 System.DrawingMicrosoft.VisualBasic 名称空间。要解决它,您可以:

在您的 project.json 中删除 dnxcore50 的目标:

"frameworks": {
  "dnx451": {
    "dependencies": {
      "SpreadsheetGear2012.Core": "1.0.0-*",
      "SpreadsheetGear2012.Drawing": "1.0.0-*"
    },
    "frameworkAssemblies": {
      "Microsoft.VisualBasic": "10.0.0.0",
      "System.Drawing": "4.0.0.0"
    }
  }
},

或者在你使用 System.DrawingMicrosoft.VisualBasic 的地方用 #if DNX451 编译:

public void MyMethod()
{
#if DNX451
    var bmp = new System.Drawing.Bitmap("file");
#endif
}