我有一个像这样定义的WPF项目:
MyApp.sln MyAppWPF MyApp.Domain
在我的MyAppWPF项目的一个xaml文件中,我正在尝试引用MyApp.Domain项目中定义的类。我在MyAppWPF中有一个项目参考到MyApp.Domain。我正在尝试创建这样的引用:
<Window x:Class="MyAppWPF.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:MyApp.Domain;assembly=MyApp.Domain" Title="Window1" Height="305" Width="485"> <Window.Resources> <local:MyClass x:Key="mine" /> </Window.Resources> </Window>
我收到错误,说无法找到程序集,但是我可以在后面的代码中创建我想要引用的类的实例,所以我知道我已正确引用它。
我该怎么做?我是否需要强名称,或直接引用dll而不是使用项目引用?
答案 0 :(得分:2)
检查是否
答案 1 :(得分:1)
可以提供任何帮助吗?
Visual Studio 2008 (RTM) WPF Designer Could Not Load Assembly or Dependency
我假设您使用的是Visual Studio 2008.如果您使用的是Visual Studio 2005,这是代号为“Cider”的XAML设计器中的一个已知问题,该问题包含在“WPF和WCF的Visual Studio 2005扩展”中”
答案 2 :(得分:1)
如果您正在动态编译松散的XAML,则只需要放置assembly=MyApp.Domain
。
如果您最初只是构建了一次XAML,请排除该令牌,而只是说xmlns:local="clr-namespace:MyApp.Domain"
。
答案 3 :(得分:0)
如果XAML没有松动(在程序集(DLL / EXE)中编译)
确保程序集具有对您要查找的程序集的引用
(右键单击项目 - &gt;添加引用...)
如果XAML松动,请确保将要查找的程序集复制到运行exe的同一目录中。
答案 4 :(得分:0)
如果它对任何人有帮助,我只需在引用包含项目本身的名称空间声明末尾添加;assembly=
即可解决我的问题。例如:
xmlns:local="clr-namespace:YourProjectNameSpace;assembly="