如何将.xproj引用到.csproj?

时间:2016-07-14 08:33:33

标签: c# asp.net .net asp.net-core projects-and-solutions

我有.csproj项目,我想引用其他项目.xproj,一切看起来都不错但是当我尝试构建解决方案时,我不能因为.dll丢失了。当我从.dll本身引用\bin\release\net452\...时,一切正常。如何解决?

编辑:我不是在寻找变通方法 - 现在我正在使用gulp.move()。它工作正常,但感觉很脏......

2 个答案:

答案 0 :(得分:9)

无法直接从csproj引用xproj。

您有2种可能的解决方案。

A)将xproj部署为NuGet包,并在csproj中使用NuGet包。

B)将您的csproj转换为xproj。

注意:xproj必须支持您使用的.NET csproj。 net451等。

这是一个引用xproj NuGet包的csproj的例子

https://github.com/damienbod/ElasticsearchCRUD/tree/master/samples/ConsoleElasticsearchCrudExample

答案 1 :(得分:4)

XProj已经死了。使用可移植类库(csproj),然后将其设置为.NET Standard以及要用于兼容性的级别。然后将创建project.json(稍后可能会重命名),csproj仍然会在那里,因此可以轻松添加引用并且它只是有效。

如果您需要交叉兼容性,唯一的方法是执行上述操作,然后在.NET核心解决方案的情况下添加现有项目,并选择project.json文件而不是.csproj。这也将创建xproj。但请注意,xproj / project.json将支持多目标,但.csproj不会,如果您尝试,您将破坏项目属性的UI。 (它仍然有效,但用户界面已经死了)

您唯一的另一种选择是绑定到dll而不是项目。您可以使用xproj,放入目标,然后添加引用,并使用browse选择dll。