【问题标题】:How to build mixed NET5.0 and C/C++ solutions?如何构建混合的 NET5.0 和 C/C++ 解决方案?
【发布时间】:2021-11-05 22:17:10
【问题描述】:

我正在将我的 .net 框架项目转换到 NET5.0,并且已经完成了代码/依赖项的更新,以便它可以在 Visual Studio 中编译和运行,但是现在我在更新我的构建脚本时遇到了问题。我之前使用“msbuild”来构建解决方案,它将在解决方案文件中构建我的所有项目和我的 C/C++ vcxprojs。 “msbuild”命令不适用于现在的 NET5.0 项目,所以我尝试使用“dotnet build”和“dotnet publish”来构建我的项目,但这些不能构建 C/C++ 项目。所以从逻辑上讲,我接下来尝试在“dotnet publish”之前专门构建那些 C/C++ 项目。我通过“msbuild”提供特定的 .vcxproj 文件而不是 .sln 文件作为项目参数来做到这一点,但由于引用标准头文件的 C1083 错误,编译失败。

有其他人成功构建包含 dotnet core/net5.0 项目和 C/C++ 项目的混合解决方案吗?

我尝试的方法是否正确(首先构建 C/C++ 项目,然后“dotnet 发布”NET5.0 项目),如果是,我做错了什么导致包含解析的问题?

有没有更正确的方法来进行这些构建?

[编辑]:删除了特定于蛋糕的语言/细节,因为蛋糕实际上只是包装了命令行构建选项。

【问题讨论】:

标签: c++ .net-core msbuild .net-5 vcxproj


【解决方案1】:

这并不是一个如何使用 Cake 构建这个的问题,而是一个如何构建这样一个项目的问题。

如果您知道如何从命令行构建项目,那么有人可以告诉您如何在 Cake 中执行此操作。 但是,Cannot compile template C++/CLI (.NET Core 3.1) project via dotnet build command 似乎暗示无法构建这样的设置。

如果对 c++/cli 没有任何了解,我建议您尝试为 c++/cli 部分(使用 msbuild 构建这个)和 net5.0 部分(使用 dotnet 构建这个)创建单独的解决方案

【讨论】:

  • 公平,我删除了 cakebuild 标签和问题的 cake 特定部分
猜你喜欢
  • 2016-01-04
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 2019-06-23
  • 1970-01-01
  • 2017-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多