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"
]
}
问题是您同时针对 dnx451
和 dnxcore50
,但只在 dnx451
中添加了对 System.Drawing
和 Microsoft.VisualBasic
的依赖。当您编译时,它不知道如何在针对 dnxcore50
进行编译时解析 System.Drawing
和 Microsoft.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.Drawing
或 Microsoft.VisualBasic
的地方用 #if DNX451
编译:
public void MyMethod()
{
#if DNX451
var bmp = new System.Drawing.Bitmap("file");
#endif
}
我对 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"
]
}
问题是您同时针对 dnx451
和 dnxcore50
,但只在 dnx451
中添加了对 System.Drawing
和 Microsoft.VisualBasic
的依赖。当您编译时,它不知道如何在针对 dnxcore50
进行编译时解析 System.Drawing
和 Microsoft.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.Drawing
或 Microsoft.VisualBasic
的地方用 #if DNX451
编译:
public void MyMethod()
{
#if DNX451
var bmp = new System.Drawing.Bitmap("file");
#endif
}