Visual Studio C# WPF共享项目未能识别代码中的GUI控件和例程

azpvetkf  于 2023-03-09  发布在  C#
关注(0)|答案(1)|浏览(254)

我创建了一个包含两个共享项目的解决方案。一个(名为LightZ)用于WCF平台,另一个(名为LightZ-Desktop)用于桌面应用程序。这两个项目共享一个对话框日志。对话框代码总是以类似于
〈窗口x:类别=“LightZ.dlgForecast”
因为我想共享这些对话框,所以我在两个项目中都使用“LightZ”作为程序集名称。
最初,一切似乎都运行良好。两个项目都编译(使用条件编译变量DESKTOP来分隔这两个项目)。然而,当我向LightZ添加一个新对话框,然后在LightZ-Desktop上共享它时,LightZ-Desktop项目就崩溃了!!所有包含GUI控件和组件的项目都无法编译。我得到了如下各种错误:

我已经检查了项目文件夹,似乎只有LightZ-Desktop.csproj文件被修改了。然而,即使我从备份副本中复制此文件以覆盖当前文件,错误仍然存在!!我不得不将整个备份项目复制回来以删 debugging 误。
有谁能对此提供任何解释,以及如何修复(或绕过它)?

xriantvc

xriantvc1#

我通过执行以下操作解决了该问题:
1.我没有使用不同的文件夹“LightZ-Desktop”,而是创建了第二个项目LightZ-Desktop.csproj,并将其放置在与原始项目LightZ. csproj相同的文件夹“LightZ”中。
1.在包含LightZ.csproj的解决方案的同一个主文件夹中,我创建了第二个解决方案,其中包含LightZ-Desktop.csproj(以及其他所需的组件)。
1.项目和解决方案都访问同一文件夹“LightZ”中的同一组文件(与以前的设置相反,在以前的设置中,“LightZ”保存文件,而“LightZ-Desktop”共享文件夹“LightZ-Desktop”中的文件)。
1.这种设置允许解决方案和项目使用相同的程序集名称“LightZ”(在以前的设置中,第二个项目默认使用程序集名称“LightZ-Desktop”,这会产生各种冲突)。

相关问题