“命名空间不包含在程序集中”问题

时间:2011-11-29 08:07:11

标签: c# wpf

我正在修改本文中的演示应用程序:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

我刚刚将DemoApp项目纳入了我的解决方案。现在我无法加载xaml文件,报告了这样的错误:

  

错误5未定义的CLR命名空间。 'clr-namespace'URI是指a   名称空间'DemoApp.ViewModel'未包含在   部件。 C:\ Oleg \ projects \ MySln \ TerminatorConsole2 \ MainWindow.xaml 5 12 TerminatorConsole2   错误2未定义的CLR命名空间。 'clr-namespace'URI是指a   名称空间'DemoApp.View'未包含在内   部件。 C:\ Oleg \ projects \ MySln \ TerminatorConsole2 \ MainWindowResources.xaml 8 12 TerminatorConsole2

可能只是复制项目文件夹是不够的?可能解决方案文件包含一些“项目特定”信息吗?

如何解决我的问题?

更新:我还将文件系统上的“DemoApp”项目文件夹重命名为“TerminatorConsole2”

upd2 :问题可能是VS希望找到的内容和位置???

upd3 在运行时我收到这样的异常,我认为这是以某种方式连接的:

LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Oleg\projects\My.MBClient\TerminatorConsole2\bin\Release\TerminatorConsole2.vshost.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Oleg/projects/My.MBClient/TerminatorConsole2/bin/Release/My.MBClient.DLL.
LOG: Attempting download of new URL file:///C:/Oleg/projects/My.MBClient/TerminatorConsole2/bin/Release/My.MBClient/My.MBClient.DLL.
LOG: Attempting download of new URL file:///C:/Oleg/projects/My.MBClient/TerminatorConsole2/bin/Release/My.MBClient.EXE.
ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.

  StackTrace:
       at TerminatorConsole2.Utils.WcfLoader..ctor(WcfModel model)
       at TerminatorConsole2.ViewModel.MainWindowViewModel.ShowAllStrategies() in C:\Oleg\projects\My.MBClient\TerminatorConsole2\ViewModel\MainWindowViewModel.cs:line 106
       at TerminatorConsole2.ViewModel.MainWindowViewModel.<CreateCommands>b__1(Object param) in C:\Oleg\projects\My.MBClient\TerminatorConsole2\ViewModel\MainWindowViewModel.cs:line 54
       at TerminatorConsole2.RelayCommand.Execute(Object parameter) in C:\Oleg\projects\My.MBClient\TerminatorConsole2\RelayCommand.cs:line 67
       at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
       at System.Windows.Documents.Hyperlink.OnClick()

我的计算机上没有这样的文件,为什么VS正在寻找它们?

file:///C:/Oleg/projects/My.MBClient/TerminatorConsole2/bin/Release/My.MBClient.DLL.
file:///C:/Oleg/projects/My.MBClient/TerminatorConsole2/bin/Release/My.MBClient/My.MBClient.DLL.

3 个答案:

答案 0 :(得分:1)

在“配置管理器”中,我已将目标平台从“AnyCPU”更改为“x86”,似乎我以某种方式使用了“x86”所针对的其他项目,这些事情无法混合。之后问题消失了

答案 1 :(得分:0)

XAML查看模式中打开 .xaml文件

查看类似的代码

xmlns:vm="clr-namespace:DemoApp.ViewModel"

并将 DemoApp.ViewModel 更正为您自己的。

我想,您应该将其更改为 TerminatorConsole2

答案 2 :(得分:0)

我建议你采取这条路线,而不仅仅是复制这两个文件夹。

1)右键单击解决方案,然后选择添加现有项目。然后转到DemoApp目录并单击* .csproj文件。这将把DemoApp添加到您的解决方案

2)同样添加unittest项目

3)右键单击Solution explorer中的DemoApp并将其设置为启动项目