如何将 .xproj 引用到 .csproj 中?

How to Reference .xproj into .csproj?

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

编辑:我不是在寻找解决方法 - 现在我正在使用 gulp 和 gulp.move()。效果很好,但感觉很脏...

无法直接从 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

XProj 已死。使用可移植 class 库 (csproj),然后将其设置为 .NET Standard 和您要使用的兼容性级别。然后 project.json 将被创建(稍后可能会重命名)并且 csproj 仍将存在,从而使添加引用变得容易并且它正常工作。

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

您唯一的其他选择是绑定到 dll 而不是项目。您可以使用 xproj,放入目标,然后添加引用并使用浏览器选择 dll。