asp.net-core – 从与xproj相同的解决方案引用csproj
|
我有一个解决方案与以下项目: MySolution.sln
- MySolution.Client.csproj
- MySolution.Service.csproj
- MySolution.Models.csproj
- MySolution.Server.xproj
MySolution.Models是一个简单的类库,它包含由MySolution.Client和MySolution.Service引用的共享代码 – 我想在MySolution.Server中引用它. VS 2015 RC1中的GUI可以通过右键单击引用添加引用 – >添加参考.然后我看到我所有的项目在项目 – >解. 我选择MySolution.Models,然后单击确定,之后我在输出日志中收到以下错误: Errors in ...PathToSolutionMySolution.Serverproject.json
Unable to locate MySolution.Models >= 1.0.0-*
真的觉得这样应该工作,因为GUI允许我添加引用而没有任何打嗝. 解决方法所以首先要了解的是DNX项目对传统的.net项目并不了解.他们不读取或解析csproj文件.这样做是为了保持他们跨平台和跨IDE兼容(csproj是一个明显的Windows和VS具体的东西).当您添加对“遗产”的引用(我使用遗产来表示基于.net 4.x csproj的项目)幕后,IDE将运行dnu wrap,但是在您的情况下,它看起来像是一些破裂. 以下应自动完成. >在解决方案root global.json中应该添加一个文件夹“wrap” 所以首先要检查的是确保你有一个“wrap”文件夹,并在solution.json的项目属性中包装引用.如果你不那么可能会有一些“破裂”.尝试删除参考重建并将引用添加回来.检查构建输出窗口是否有任何错误(VS仍然是RC,所以有一些错误,可能应该停止,不是). 在wrap文件夹中查找一个project.json.它应该看起来像这样: {
"version": "1.0.0-*","frameworks": {
"net452": {
"wrappedProject": "../../LegacyClassLibrary/LegacyClassLibrary.csproj","bin": {
"assembly": "../../LegacyClassLibrary/obj/{configuration}/LegacyClassLibrary.dll","pdb": "../../LegacyClassLibrary/obj/{configuration}/LegacyClassLibrary.pdb"
}
}
}
}
注意框架版本.如果存在不匹配,那么它将失败解决依赖关系.例如,如果您的MySolution.Models目标.Net 4.6,因此当包装有一个dnx46框架引用,但您的MySolution.Server项目有一个引用dnx452(在project.json中为MySolution.Server),那么它将失败,当解析依赖到MySolution.Models. 你引用的可能会有所改善.这意味着由于以下原因之一,它无法解决依赖问题 >它根据它使用的路径(从global.json中的projects参数开始)找不到MySolution.Models程序集(源代码或编译的dll). 在我的经验中,第三个如果是最常见的.对于VS 2015 RC中的DNX模板,目标的默认完整框架是dnx452(或者是dnx451?).默认情况下,新的csproj项目将为4.6(dnx46),现有项目可能只是任何事情. 一个替代解决方案: 如果MySolution.Models将由DNX和旧版(csproj)项目引用,那么您可以为“模型”创建一个并行的xproj和project.json文件.遗留项目将被忽略.实质上,您同时拥有使用相同源文件的旧版DNX项目.你可以直接像上面的引用.如果models文件夹不在/ src下,请记住文件夹结构(如果这是一个现有项目可能不是这样),那么您将需要移动它或添加对global.json中的文件夹的引用.这听起来更令人困惑,它真的是.只要记住一个DNX项目,global.json定义了DNX可以找到源代码的相对路径. DNX还可以通过nuget或者搜索GAC来解决依赖关系,但这超出了你想要做的事情. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 强制ASP.NET GridView的寻呼机显示
- asp.net-mvc – 在MVC Razor视图中使用@RenderBody有什么意
- asp.net – AspNetSession布局渲染器不工作
- asp.net – visual studio 2017调试无法启动程序无效指针
- ASP.NET MVC中的asp.net-mvc – 文件大小上传限制:web.con
- asp.net-mvc-3 – 跨域的SignalR
- asp.net-mvc-4 – 使用WebAPI进行搜索
- asp.net-mvc – MVC 2 vs MVC 3自定义验证属性使用DataAnno
- 加载ASP.Net MVC JSONResult jQuery DataTables
- 如果我在ASP.NET网页中打开数据库连接会发生什么
