我有一个项目,src引用另一个项目。
使用dnx web从命令提示符运行时工作正常。
但是使用CTRL-F5(web)运行会给我一个错误
无法确定项目的背景。如果项目按源引用其他项目,并且这些项目有一个指定不同版本SDK的global.json文件,则会发生这种情况。
使用dnx-watch运行我收到此错误
System.ArgumentException:目录名C:\ git \ Localization \ src \ JsonLocalization \ project.json无效。
主要解决方案global.json
{
"projects": [
"src",
"test",
"../TagHelpers/src",
"../Mvc.JQuery.Datatables/src",
"wrap",
"../Localization/src"
],
"sdk": {
"version": "1.0.0-beta8"
}
}
Main Project.json
{
"webroot": "wwwroot",
"userSecretsId": "aspnet5-GGZDBC5-d96c66a6-1a4e-4a9a-b8d4-11c2f88ff638",
"version": "1.0.0-*",
"dependencies": {
"CsvHelper": "2.13.1",
"EntityFramework.Commands": "7.0.0-beta8",
"EntityFramework.SqlServer": "7.0.0-beta8",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta8",
"Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta8",
"Microsoft.AspNet.Authentication.Google": "1.0.0-beta8",
"Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta8",
"Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta8",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta8",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta8",
"Microsoft.AspNet.Http": "1.0.0-beta8",
"Microsoft.AspNet.Http.Features": "1.0.0-beta8",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta8",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
"Microsoft.AspNet.Mvc": "6.0.0-beta8",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta8",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta8",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta8",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-beta8",
"Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta8",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta8",
"Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta8",
"Microsoft.Framework.Logging": "1.0.0-beta8",
"Microsoft.Framework.Logging.Console": "1.0.0-beta8",
"Microsoft.Framework.Logging.Debug": "1.0.0-beta8",
"Microsoft.Framework.SecretManager": "1.0.0-beta8",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta8",
"Newtonsoft.Json": "7.0.1-*",
"Mvc6.JQuery.Datatables": "1.0.0-*",
"npm": "1.4.15.2",
"TagHelpers": "1.0.0-*",
"Microsoft.AspNet.Localization": "1.0.0-beta8",
"JsonLocalization": "1.0.0-*"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": {
"dependencies": {
"DataTables": "1.0.0-*"
},
"frameworkAssemblies": {
"System.Web": "4.0.0.0"
}
}
},
...
}
本地化 global.json
{
"projects": [
"src",
"test"
],
"sdk": {
"version": "1.0.0-beta8"
}
}`
project.json
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.Framework.Localization": "1.0.0-beta8",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta8",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta8",
"Newtonsoft.Json": "7.0.1-*"
},
"frameworks": {
"dnx451": { }
}
}
答案 0 :(得分:1)
花费HOURS搞乱这个并得到如下错误:
无法确定RRStore.EF。如果一个项目,这可能会发生 按源引用其他项目,这些项目有一个 global.json文件,指定SDK的不同版本。
我添加了一个global.json
文件(否则无处可见),但没有任何区别。
然后我最终决定尝试
重新启动Visual Studio,即使没有global.json
答案 1 :(得分:0)
我在错误的位置添加了global.json。将文件移动到C:\ git \ Localization \ global.json后,该项目在VS2015下正常工作。
似乎VS2015没有添加项目,因为存在参考冲突。 将现有项目添加到解决方案将始终有效,但有时会导致冲突。
可以使用后续步骤删除项目。 *从global.json中删除。 *从解决方案中删除项目(可能不再需要) *删除projects.json.lock
答案 2 :(得分:0)
值得一提的是,如果有多个global.json
文件,就会出现这种情况。
就我而言,我将一个依赖项引用为Git子模块。我将子模块项目添加到主解决方案中,以便调试导致OP中列出的错误的依赖项。
从子模块中删除global.json
(暂时)解决了这个问题。