【发布时间】:2013-04-19 11:03:04
【问题描述】:
我正在创建一些标记扩展并开始获得非常奇怪的 VS 行为。我已经在单独的解决方案中提取并指出了问题。问题是 VS 无法在 XAML 中创建 CLR 对象。
这里是:
查看:
<Window x:Class="WpfApplication4.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wpfApplication4="clr-namespace:WpfApplication4">
<Window.Resources>
<wpfApplication4:Dog x:Key="doggy" />
</Window.Resources>
<Grid />
</Window>
背后的代码:
using System.Windows;
namespace WpfApplication4
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
狗类:
namespace WpfApplication4
{
public class Dog
{
}
}
App.Xaml(App.Xaml.cs 中没有代码):
<Application x:Class="WpfApplication4.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
我得到的异常:
Error 1 The name "Dog" does not exist in the namespace "clr-namespace:WpfApplication4". \\hopr1\folders$\vxk\Documents\Visual Studio 2012\Projects\WpfApplication4\MainWindow.xaml 6 9 WpfApplication4
我能够运行解决方案,但设计器因“无效标记”错误而失败 有什么想法吗?
编辑
我正在运行 VS 2012 Update 2 VS 2012 Update 1 中的解决方案相同
【问题讨论】:
-
这听起来很奇怪 - 我注意到您正在网络共享上运行应用程序? \\hopr1\folders$\vxk\Documents 你能在像 C:\ 这样的本地驱动器上尝试完全相同的事情吗 - 我问的原因是,当我将解决方案存储在网络位置时,我在 VS 中看到了非常不合理的行为
-
那行得通,很好发现!将此添加为答案,我会将其标记为正确答案!
-
很高兴它工作 - 如果你设法让它在网络共享上工作,请“分享”你的解决方法(双关语:)
-
好的——刚刚修好了。被引用的 DLL 被标记为“不受信任”,所以我必须修复它(wpflocalizeextension.codeplex.com/discussions/399736),然后我必须关闭解决方案,删除“suo”文件,然后重新打开项目。
-
重建项目/解决方案为我消除了错误。