【问题标题】:How to build library with WPF forms如何使用 WPF 表单构建库
【发布时间】:2011-05-25 03:10:36
【问题描述】:

是否可以构建一个包含 WPF 表单的 类库 dll? 当我尝试构建一个时,出现以下错误:

错误 1 ​​库项目文件无法指定 ApplicationDefinition 元素。
错误 2 项目文件包含无效的属性值。

如果我将我的项目设置为 Windows 应用程序,它会编译并运行。有没有办法解决这个问题?如果你们可能感兴趣的话,我正在使用 VS2010 和 C# .NET 4.0。

谢谢

【问题讨论】:

    标签: c# wpf visual-studio-2010 window


    【解决方案1】:

    在为您的解决方案创建/添加新项目时选择WPF Custom Control LibraryWPF User Control Library

    【讨论】:

    • 在我已经将它创建为普通类库之后有什么办法吗?我正在查看它的属性,但不能从那里选择 WPF 自定义控件库或 WPF 用户控件库..
    • 是的,要消除此错误,请在解决方案资源管理器中选择 App.xaml 并将其删除。
    • 我已经有了一个包含多个项目的解决方案。我添加 WPF 表单的项目没有 App.xaml 文件..
    • 您的项目中必须有一个文件,其Build Action 设置为ApplicationDefinition。您必须删除该文件或更改其Build Action
    • @deycyclone,赞成,Build Action 必须为某些人工作。但不适合我——毕竟它与 OP 中的错误 #1 相矛盾。 Mikl X 的建议对我很有效。
    【解决方案2】:

    UserControl 的构建操作从ApplicationDefinition 更改为Page

    【讨论】:

    • 这对我来说是个问题。如果项目中的任何 .xaml 文件是构建操作的 ApplicationDefinition,我会收到此错误。
    • 默认情况下,App.xaml 将 Build Actions 设置为 ApplicationDefinition。
    • App.xaml 必须从 ApplicationDefinition 更改为 Page 然后解决 +1
    【解决方案3】:

    删除 WPF 项目中的 App.xaml 和 App.xaml.cs。然后,您将能够使用类库的输出类型运行项目。

    【讨论】:

    • 在创建 Wix 自定义 BA 后遇到此问题,然后将 WPF 项目从应用程序更改为类库。删除 App.xaml.* 文件,然后立即编译!
    【解决方案4】:

    当我们将图像复制粘贴到 ClassLibrary 项目时也会发生这种情况。

    将该图像的构建操作属性更改为资源

    【讨论】:

      【解决方案5】:

      扩展@2493490 答案。

      右键单击 app.xaml 文件并将其从项目中排除。 将项目输出类型更改为项目属性中的类库。 单击运行图标,解决方案将成功构建,但不会运行/执行任何代码。将显示一条错误消息进行说明。

      【讨论】:

        【解决方案6】:

        problems after copying XAML controls from WPF Application to class library

        第一个答案对我有用。 我将 App.xaml 从 ApplicationDefinition 更改为 Page 并工作

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-11
          • 1970-01-01
          • 2017-04-11
          • 1970-01-01
          • 1970-01-01
          • 2020-11-21
          • 1970-01-01
          相关资源
          最近更新 更多