【发布时间】:2009-06-26 18:41:17
【问题描述】:
在重构一些代码的过程中,我遇到了几个构建错误,例如:
库项目文件不能指定 ApplicationDefinition 元素。
项目文件包含无效的属性值。
如何解决这些错误?
【问题讨论】:
在重构一些代码的过程中,我遇到了几个构建错误,例如:
库项目文件不能指定 ApplicationDefinition 元素。
项目文件包含无效的属性值。
如何解决这些错误?
【问题讨论】:
当您在一个项目或另一个项目中复制和粘贴文件时,Visual Studio 有一个讨厌的习惯,即不保留相同的 BuildAction 属性。它经常将构建操作更改为看似随机的值,例如ApplicationDefinition,这会导致构建错误。
检查(在 Visual Studio 属性窗口中,在解决方案资源管理器中选择文件)您的每个 .xaml 文件都具有 Page 的 BuildAction 属性和您的代码文件具有 Compile 的 BuildAction 属性。
【讨论】:
即使您的构建操作设置正确,您也可能会看到这一点。例如,如果您将项目作为应用程序启动,然后将其切换为类库。在这种情况下,您还必须记住删除 App.xaml(以及相应的 App.cs)。
【讨论】:
这也是我们将图像/XAML 文件复制粘贴到 ClassLibrary 项目时。
将该图像的构建操作属性更改为资源
【讨论】:
Xaml 控件上的构建操作必须从 ApplicationDefinition 更改为 Page(可以通过右键单击解决方案资源管理器树视图中的控件并选择属性来访问此属性)。
【讨论】:
2 年后,我带着同样的问题来搜索,但是当我注意到这两个项目都有相同的同名 .xaml 文件时,我只能使用上述 cmets 排除其他选项并最终找到我的答案在一个解决方案中。
1 解决方案有 2 个项目:PRINTNOTESPROJ 和 MAKENOTESPROJ。
在开发过程中,我在 MAKENOTESPROJ 中使用了一个 XAML 窗口,它实际上应该是发布可执行文件中 PRINTNOTESPROJ 的一部分。
切换到 Build->Release 后,我只需单击“PrintWindow.XAML”(在 MAKENOTESPROJ 和带有子 PrintWindow.xaml.cs 中)并将其拖到我的 PRINTNOTESPROJ 上。
*这是关键。我忘记了这样做只会将相关文件复制到新项目中[至少在 VS 2010 中]。从现在开始,我收到了您的错误,直到我从原始项目 MAKENOTESPROJ 中删除了“PrintWindow.xaml”。
我希望这是有道理的...请有问题发表评论!
【讨论】: