【问题标题】:XAML design view broken in visual studio 2008 for silverlight 3?Silverlight 3 的 Visual Studio 2008 中的 XAML 设计视图损坏?
【发布时间】:2009-07-31 15:52:02
【问题描述】:

我最近在我的 VS 2008 SP1 环境中安装了 silverlight 3 工具,现在当我打开 xaml 文件时,设计器无法加载说(如果我向上拖动面板):

加载已取消 视觉设计器的加载已取消。继续加载设计器

如果我单击设计器将加载的恢复加载链接,但 XAML 和设计选项卡不会出现在拆分窗口连接处。我可以看到交换窗格按钮,但如果我单击它就不起作用。

VS 显示此错误:

无法加载元数据程序集 System.Windows.Controls.Data.Design,版本=2.0.5.0,文化=中性,PublicKeyToken=31bf3856ad364e35。异常消息:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。堆栈跟踪:在 System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark) 在 System.Reflection.Assembly.GetTypes() 在 MS.Internal.Package.MetadataLoader.RegisterDesignTimeMetadata(程序集程序集,LogCallback 记录器)未能加载元数据程序集 System.Windows.Controls.Data.Input.Design,版本 = 2.0.5.0,文化 = 中性,PublicKeyToken = 31bf3856ad364e35。异常消息:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。堆栈跟踪:在 System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark) 在 System.Reflection.Assembly.GetTypes() 在 MS.Internal.Package.MetadataLoader.RegisterDesignTimeMetadata(Assembly 程序集,LogCallback 记录器)在 System.Windows.Controls.Data.Input.VisualStudio.Design.MetadataRegistration 类型上调用 IRegisterMetadata 时捕获了 ArgumentNullException 类型的异常。异常消息:值不能为空。 参数名称:类型。堆栈跟踪:在 Microsoft.Windows.Design.Metadata.AttributeTableBuilder.AddCallback(类型类型,AttributeCallback 回调) 在 System.Windows.Controls.Data.Input.VisualStudio.Design.MetadataRegistration.AddAttributes(AttributeTableBuilder 生成器) 在 System.Windows.Controls.Design.Common.MetadataRegistrationBase.BuildAttributeTable() 在 System.Windows.Controls.Data.Input.VisualStudio.Design.MetadataRegistration.Register() 在 MS.Internal.Package.MetadataLoader.RegisterDesignTimeMetadata(Assembly 程序集,LogCallback 记录器)


有人经历过吗?

有解决方法或修复方法吗?我已经尝试从我的机​​器中删除所有与 Silverlight 相关的程序并重新安装,但结果还是一样?


如果有帮助,这里有一些与已安装的组件/版本相比:

  • Microsoft Visual Studio 2008 版本 9.0.30729.4108 QFE 微软 .NET 框架 版本 3.5 SP1
  • 已安装版本:企业版
  • 微软 Silverlight 项目 2008 91899-270-9195657-60457 微软 Silverlight 项目 2008 版本 9.0.30730.126
  • ...
  • Microsoft Visual Studio Team System 2008 数据库版 GDR 91899-270-9195657-60457 Microsoft Visual Studio Team System 2008 数据库版 GDR 版本 9.1.31124.01

【问题讨论】:

    标签: wpf visual-studio-2008 silverlight xaml ide


    【解决方案1】:

    这已被设计删除。引用Tim Heuer:

    我的设计视图去哪儿了?!你可以 立即注意到 VS 工具没有 不再有您的预览模式 Silverlight 项目中的 XAML。这是 按设计。我们听到了一些漂亮的声音 反馈说预览通常是 大多数开发都关闭 因为事实并非如此 随着应用程序变得越来越有用 复杂的。团队决定将 资源投入打造 伟大的可编辑设计表面 VS2010反而不耽误了 Silverlight 3 发布。

    如果您想要一个更直观的设计师,Blend 仍然可以工作,而且我相信 VS2010 的 beta 版本已经内置了设计视图。

    【讨论】:

    • 哇!有趣的是它仍然秘密存在,只是当时最小化。我应该更仔细地阅读。 . .谢谢你的回答。
    【解决方案2】:

    但它并没有完全删除 - 在页面底部的 XAML 选项卡附近有一个非常小的水平分隔符,您可以使用它来查看设计器。虽然不确定你的错误。要解决设计器错误,请尝试按照其他建议进行混合并查看调用堆栈。还要从 Xaml 中逐个删除 UI 元素并重新构建,看看是否可以找出问题的原因。还要查看您的 ctor 和 Loaded 事件处理程序,以查看您的代码是否导致问题。如果您真的卡住了,请尝试将另一个 VS 实例附加到您现有的 Visual Studio,然后让错误发生并查看是否可以调试它。这玩意不好玩!

    【讨论】:

    • 很好——我能够展开拆分器并单击以重新加载。一切都还在。来自我的 +1。
    【解决方案3】:

    据我所知,他们删除了 silverlight 3 的设计器,因为我们无法在设计器中进行编辑。

    【讨论】:

      【解决方案4】:

      正如 Raumornie 所说。

      很久以前就放弃了VS2008设计器。它很慢,经常需要刷新,或者当 XAML 变得太复杂时,它就会变得异常糟糕。微软方面做得很好,尽管我相信 VS2010 正在开发更强大的查看器。

      与此同时,还有 Expression Blend...

      【讨论】:

        【解决方案5】:

        既然没有混合,就不用担心设计器了..但是为什么你根本不能交换窗格,这个功能也被删除了? 即,如果您希望代码位于顶部,而 xaml 位于下方,反之亦然?

        【讨论】:

          猜你喜欢
          • 2012-07-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-04
          • 1970-01-01
          • 2015-04-06
          • 1970-01-01
          相关资源
          最近更新 更多