我正在创建一些标记扩展,并开始变得非常奇怪的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中运行相同的解决方案
发布于 2013-04-25 22:56:05
您的解决方案正在网络共享上运行。在网络共享上运行时,.Net (和Visual Studio)应用程序可能会遇到权限/访问问题。
将您的解决方案复制到本地驱动器(具有完全信任),您就应该没问题了。
让网络驱动器在完全信任的情况下工作是可能的-你可以在StackOverflow和其他地方找到答案-但根据我的经验,当我这样做时,我总是遇到障碍,所以尝试避免它,除非它对手头的问题非常关键。
例如,这个问题给出了如何做到这一点的说明:
Give FullTrust to UNC share for Visual Studio 2012 and .Net 4.0
我只在VS2010上尝试过,所以(如链接所示)你在2012年可能会有更好的乐趣。
发布于 2014-03-14 21:49:28
对于现在遇到这个问题的任何人,在你做任何其他事情之前...如果您确定您的类/名称空间是正确的,并且重建没有解决您的问题:
尝试重新启动Visual Studio
就这样!
这似乎是Visual Studio 2012的错误(也可能会影响支持XAML开发的所有其他版本)
更新:如果重启Visual Studio不起作用,请重启整个PC。
更新:正如@Dunk在评论中提到的,如果重启Visual Studio不起作用,请尝试删除.suo文件
发布于 2014-07-23 02:35:19
我也遇到过同样的问题,但我的文件存储在本地。我的IValueConverter驻留在与使用它的视图不同的程序集中。尽管VS2013 IntelliSense提出了以下建议,但它并不起作用:
xmlns:conv="clr-namespace:MySharedAssembly.Converters"
在我显式地将程序集添加到最后之后,它就起作用了:
xmlns:conv="clr-namespace:MySharedAssembly.Converters;assembly=MySharedAssembly"
https://stackoverflow.com/questions/16216662
复制相似问题