将clr名称空间添加到XAML声明中

时间:2013-07-16 14:21:02

标签: wpf xaml

我正在尝试做一些简单的事情,只需在窗口定义中为我的XAML添加一个新的命名空间。我的主要类是MainWindow.xaml,位于“WealthmarginAnalyser”命名空间中。我只需要能够访问“WealthMarginAnalyser.ViewModel”命名空间。

<Window x:Class="WealthMarginAnalyser.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:vm="clr-namespace:WealthMarginAnalyser.ViewModel"
Title="{Binding TitleText}" Height="569" Width="700">

当然这很简单,没有xmlns:vm行,代码编译并运行正常。一旦放入该行,设计器就无法加载错误

错误3无法加载程序集“WealthMarginAnalyser”的元数据。该程序集可能已从Web下载。见http://go.microsoft.com/fwlink/?LinkId=179545。加载期间遇到以下错误:无法加载文件或程序集“WealthMarginAnalyser”或其依赖项之一。不支持操作。 (来自HRESULT的异常:0x80131515)F:\ JK \ Wealth \ WealthMarginAnalyser \ WealthMarginAnalyser \ MainWindow.xaml 1 1 WealthMarginAnalyser

更新:即使在XMLNS声明中指定程序集WealthMarginAnalyser之后,也会发生相同的错误。我似乎无法在XAML中添加任何引用同一Assembyly中其他命名空间的XMLNS声明。

即我只有一个程序集,名为WealthMarginAnalyser。在这里我有几个文件夹,每个文件夹包含一个不同的命名空间,所以我有名称空间

WealthMarginAnalyser WealthMarginAnalyser.ViewModel WealthMarginAnalyser.Model WealthMarginAnalyser.Helpers

主XAML文件位于名称空间WealthMarginAnalyser

我希望能够为其他名称声明名称空间,例如WealthMarginAnalyser.ViewModel - 我认为这就像在XAML中放一行来将其声明为CLR名称空间一样简单,但显然不是。 / p>

鉴于它们都在同一个程序集解决方案中,没有编译的DLL可以右键单击并更改属性,它是单个文件WPF应用程序,同一解决方案/程序集中的所有名称空间。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

听起来它被标记为来自邪恶的互联网。

在Windows资源管理器中查找程序集:

  1. 右键单击DLL
  2. 转到属性
  3. 点击取消屏蔽

答案 1 :(得分:0)

仅供参考我找到了问题。

在允许项目从远程源加载的WPF项目中,您必须在配置文件devenv.exe.config中启用它。

步骤1:在系统中搜索配置文件devenv.exe.config。通常它位于 C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe.config

步骤2:编辑配置文件。在<runtime>标记

中添加以下行
<loadFromRemoteSources enabled="true" />

第3步:重新启动视觉工作室。