【问题标题】:Can't create xmlns reference to other project in XAML无法在 XAML 中创建对其他项目的 xmlns 引用
【发布时间】:2010-09-18 00:30:28
【问题描述】:

我有一个这样定义的 WPF 项目:

我的应用程序.sln MyAppWPF 我的应用程序域

在 MyAppWPF 项目中的一个 xaml 文件中,我试图引用在 MyApp.Domain 项目中定义的类。我在 MyAppWPF 中有一个对 MyApp.Domain 的项目参考。我正在尝试创建这样的参考:

窗口>

我收到一条错误消息,提示找不到程序集,但是我可以在后面的代码中创建我想引用的类的实例,所以我知道我已经正确引用了它。

我该怎么做?我需要一个强名称,还是直接引用 dll 而不是使用项目引用?

【问题讨论】:

  • 嗨 Ted - 你解决过这个问题吗?
  • 不,但自从我提出这个问题以来,我并没有真正看过它。它只是一个学习 WPF 的应用程序。

标签: c# .net wpf xaml .net-3.5


【解决方案1】:

如果它对任何人有帮助,我只需在引用包含项目本身的命名空间声明末尾添加 ;assembly= 即可解决我的问题。例如:

xmlns:local="clr-namespace:YourProjectNameSpace;assembly=" 

【讨论】:

    【解决方案2】:

    检查是否

    1. MyClass 的完全限定名称是 MyApp.Domain.MyClass
    2. MyClass 有一个默认的公共构造函数(没有参数),因此 XAML 可以对其进行实例化。

    【讨论】:

      【解决方案3】:

      有什么帮助吗?

      Visual Studio 2008 (RTM) WPF Designer Could Not Load Assembly or Dependency

      我假设您使用的是 Visual Studio 2008。如果您使用的是 Visual Studio 2005,这是代号为“Cider”的 XAML 设计器中的一个已知问题,该问题包含在“Visual Studio 2005 Extensions for WPF and WCF”中”。

      【讨论】:

        【解决方案4】:

        如果您要动态编译松散的 XAML,则只需输入 assembly=MyApp.Domain

        如果您最初只是构建一次 XAML,请排除该令牌并改为使用 xmlns:local="clr-namespace:MyApp.Domain"

        【讨论】:

          【解决方案5】:

          如果 XAML 不是松散的(在程序集中编译 (DLL/EXE)
          确保该程序集引用了您要查找的程序集
          (右键单击项目 --> 添加引用 ...)。

          如果 XAML 松散,请确保将它要查找的程序集复制到运行 exe 的同一目录中。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-10-13
            • 1970-01-01
            相关资源
            最近更新 更多