【发布时间】:2021-10-21 13:01:12
【问题描述】:
我在这里有一个 C# CMake 项目,https://github.com/jarl-haggerty/cmake-test。它由两个包含 UserControl1.xaml 但具有不同命名空间的库组成。如果我生成 Visual Studio 2019 解决方案并交替构建两个库,则在构建库 One 时会收到以下错误:
1>C:\Users\jarl\source\repos\test\One\UserControl1.xaml.cs(9,13,9,32): error CS0103: The name 'InitializeComponent' does not exist in the current context
1>C:\Users\jarl\source\repos\test\build\obj\x64\Debug\UserControl1.xaml(9,95,9,117): error CS1061: 'UserControl1' does not contain a definition for 'innerRect_MouseDownTwo' and no accessible extension method 'innerRect_MouseDownTwo' accepting a first argument of type 'UserControl1' could be found (are you missing a using directive or an assembly reference?)
如果我删除了 obj/x64/Debug 中的所有文件,那么构建会再次开始工作。该文件夹似乎是两个库中构建文件的目标,并且从错误中听起来两个版本的 UserControl.xaml 混淆了。 C++ 项目将在 One.dir 和 Two.dir 文件夹中分离构建。这是可以预料的吗?有解决方法吗?我正在尝试将具有这样几个案例的 Visual Studio 项目移植到 cmake。
【问题讨论】:
-
您的项目类型是什么,UWP、WPF 还是其他?
-
我认为是 WPF。我链接到的 repo 重现了这个问题。
标签: c# visual-studio xaml cmake