0

我在创建空白 wpf .Net 3.5 项目时遇到问题。Visual Studio 抛出错误并停止工作。这很奇怪,因为当我在 .Net 3.5 中创建其他项目(如 windows 窗体)时,它可以正常工作(我也在其他 .Net 框架中测试过,没有错误)。
这是复制的错误详细信息:

  System.ArgumentException
  Type universe cannot resolve assembly: System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
  at System.Reflection.Adds.TypeNameParser.DetermineAssembly(AssemblyName assemblyName, Module defaultTokenResolver, ITypeUniverse universe)
  at System.Reflection.Adds.TypeNameParser.<>c__DisplayClass2.<ParseTypeName>b__0(AssemblyName assemblyName)
  at System.TypeNameParser.ResolveAssembly(String asmName, Func`2 assemblyResolver, Boolean throwOnError, StackCrawlMark& stackMark)
  at System.TypeNameParser.ConstructType(Func`2 assemblyResolver, Func`4 typeResolver, Boolean throwOnError, Boolean ignoreCase, StackCrawlMark& stackMark)
  at System.TypeNameParser.GetType(String typeName, Func`2 assemblyResolver, Func`4 typeResolver, Boolean throwOnError, Boolean ignoreCase, StackCrawlMark& stackMark)
  at System.Type.GetType(String typeName, Func`2 assemblyResolver, Func`4 typeResolver, Boolean throwOnError)
  at System.Reflection.Adds.TypeNameParser.ParseTypeName(ITypeUniverse universe, Module module, String input, Boolean throwOnError)
  at Microsoft.MetadataReader.UnresolvedTypeName.ConvertToType(ITypeUniverse universe, Module moduleContext)
  at Microsoft.MetadataReader.MetadataExtensionsPolicy20.TryTypeForwardResolution(MetadataOnlyAssembly assembly, String fullname, Boolean ignoreCase)
  at Microsoft.MetadataReader.MetadataOnlyAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
  at Microsoft.MetadataReader.MetadataOnlyAssembly.GetType(String name)
  at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.GetAssemblyType(Reflectable`1 assembly, String typeName)
  at MS.Internal.Metadata.ClrAssembly.GetType(String typeName)
  at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.LoadType(String typeName)
  at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.GetType(String fullName)
  at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.GetType(String fullName)
  at Microsoft.Windows.Design.Metadata.IdentifierExtensionImplementations.GetType(IMetadataContext scope, TypeIdentifier typeId)
  at MS.Internal.Design.Metadata.Xaml.XamlAssembly.get_XmlNamespaceCompatibilityMappings()
  at Microsoft.Windows.Design.Metadata.Xaml.XamlExtensionImplementations.GetXmlNamespaceCompatibilityMappings(IAssemblyMetadata sourceAssembly)
  at Microsoft.Windows.Design.Metadata.Xaml.XamlExtensions.GetXmlNamespaceCompatibilityMappings(IAssemblyMetadata source)
 at MS.Internal.Design.Metadata.ReflectionProjectNode.BuildSubsumption()
 at MS.Internal.Design.Metadata.ReflectionProjectNode.SubsumingNamespace(Identifier identifier)
 at MS.Internal.Design.Markup.XmlElement.BuildScope(PrefixScope parentScope, IParseContext context)
 at MS.Internal.Design.Markup.XmlElement.ConvertToXaml(XamlElement parent, PrefixScope parentScope, IParseContext context, IMarkupSourceProvider provider)
 at MS.Internal.Design.DocumentModel.DocumentTrees.Markup.XamlSourceDocument.FullParse(Boolean convertToXamlWithErrors)
 at MS.Internal.Design.DocumentModel.DocumentTrees.Markup.XamlSourceDocument.get_RootItem()
 at Microsoft.Windows.Design.DocumentModel.Trees.ModifiableDocumentTree.get_ModifiableRootItem()
 at Microsoft.Windows.Design.DocumentModel.MarkupDocumentManagerBase.get_LoadState()
 at MS.Internal.Host.PersistenceSubsystem.Load()
 at MS.Internal.Host.Designer.Load()
 at MS.Internal.Designer.VSDesigner.Load()
 at MS.Internal.Designer.VSIsolatedDesigner.VSIsolatedView.Load()
 at MS.Internal.Designer.VSIsolatedDesigner.VSIsolatedDesignerFactory.Load(IsolatedView view)
 at MS.Internal.Host.Isolation.IsolatedDesigner.BootstrapProxy.LoadDesigner(IsolatedDesignerFactory factory, IsolatedView view)
 at MS.Internal.Host.Isolation.IsolatedDesigner.BootstrapProxy.LoadDesigner(IsolatedDesignerFactory factory, IsolatedView view)
 at MS.Internal.Host.Isolation.IsolatedDesigner.Load()
 at MS.Internal.Designer.DesignerPane.LoadDesignerView()

图片:

在此处输入图像描述 我也尝试修复、卸载和重新安装 Visual Studio,但仍然有错误。
有什么帮助吗?
更新:只有当我打开 xaml 文件时才会发生错误。

4

2 回答 2

0

Finnaly,我已经修好了。当我尝试更新 VS SP1 时,我收到了错误

无法写入安装日志文件。验证 Temp 文件夹是否存在并且您可以对其进行写入。

然后我认识到%temp%目录无法访问。然后我转到环境变量并更改%temp%路径(我以前从未接触过这个变量),并且设置 VS SP1 运行良好。此外,此 WPF 错误已修复。

于 2012-06-30T11:38:19.330 回答
0

出于某种原因,您的 3.5 代码中有对 system.XAML 4.0 的引用。卸载您的项目,然后对其进行编辑。找到其中包含 system.XAML 的行,然后删除它。重新加载项目后,您可以手动添加 3.5 版本。

于 2012-06-28T04:51:58.410 回答