C# 使用Cmake将一个CSharp项目的引用添加到另一个CSharp项目,并使用MSBuild进行构建

C# 使用Cmake将一个CSharp项目的引用添加到另一个CSharp项目,并使用MSBuild进行构建,c#,msbuild,cmake,csproj,C#,Msbuild,Cmake,Csproj,我不熟悉Cmake和MSBuild。我已经看过多篇关于在Cmake中链接库的文章。有一两个讨论连接项目,但它们大多是C++项目。我的问题是,将一个C#项目的引用添加到另一个C#项目,其中两个项目都是使用CMake生成的,并且是同一个.Net解决方案的一部分,并在生成后使用MSBuild成功地构建项目。 我有两个使用cmake生成的C#项目。项目的当前文件夹结构为: 普罗贾 ---cmake.txt ---projA.csproj.template 项目 ---Cmake.txt ---projB

我不熟悉Cmake和MSBuild。我已经看过多篇关于在Cmake中链接库的文章。有一两个讨论连接项目,但它们大多是C++项目。我的问题是,将一个C#项目的引用添加到另一个C#项目,其中两个项目都是使用CMake生成的,并且是同一个.Net解决方案的一部分,并在生成后使用MSBuild成功地构建项目。 我有两个使用cmake生成的C#项目。项目的当前文件夹结构为:

普罗贾

---cmake.txt

---projA.csproj.template

项目

---Cmake.txt

---projB.csproj.template

Cmake对项目使用Cmake.txt,而Cmake.txt又使用csproj文件生成C#项目A和项目B。仅供参考,C#项目的*.cs文件是使用Swig生成的。由于生成的*.cs文件是正确的,因此我不会详细介绍它

项目B具有项目A中所需的类型。因此,我们希望将项目B的引用添加到项目A中

为了做到这一点,我首先尝试将项目B的引用添加到ProjectA csproj文件中

<ItemGroup>
  <ProjectReference Include="..\..\FolderB\ProjectB\ProjectB.csproj">
    <Project>{PROJ GUID}</Project>
      <Name>ProjectB</Name>
    </ProjectReference>
</ItemGroup>
构建仍然失败


让我知道这些尝试是否有任何问题,以及可以做哪些进一步的更改,以便CMake为项目A生成正确的信息,以便在生成时MSBuild知道项目A引用了项目B。

项目B中的项目Guid是否在
中?(引用的一个)@MartinUllrich是项目B中的项目GUID。我已经证实了这一点。另一件事是,当我打开整个.Net解决方案并单独构建项目时,它们会构建得很好。这是另一个表明配置正确的指标。
中的项目Guid是项目b中的项目Guid吗?(引用的一个)@MartinUllrich是项目B中的项目GUID。我已经证实了这一点。另一件事是,当我打开整个.Net解决方案并单独构建项目时,它们会构建得很好。因此,这是另一个表明配置正确的指标。
include_external_msproject(
  ProjectAName 
  ${csprojfileName}
  TYPE "${CS_GUID}"
  ProjectB
)