.NET框架: 4.5.1
我得到了一个奇怪的错误,在混合的视频演播室2015,但我找不到的来源。
如果我在VS中打开我的WPF解决方案,它将加载并运行良好。设计视图也可以工作。
但是,,如果我以混合方式打开WPF解决方案,每当我在设计器中打开任何.xaml文件时,它们都会短暂加载(大约一秒钟),然后抛出以下错误:
Microsoft.MetadataReader.UnresolvedAssemblyException
Type universe cannot resolve assembly: System.Runtime, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
at Microsoft.MetadataReader.SimpleUniverse.Microsoft.MetadataReader.ITypeUniverse.ResolveAssembly(AssemblyName name)
at Microsoft.MetadataReader.SimpleUniverse.Microsoft.MetadataReader.ITypeUniverse.ResolveAssembly(Module scope, Token tokenAssemblyRef)
at Microsoft.MetadataReader.MetadataOnlyModule.ResolveTypeRef(ITypeReference typeReference)
at Microsoft.MetadataReader.MetadataOnlyTypeReference.GetResolvedTypeWorker()
at Microsoft.MetadataReader.TypeProxy.GetResolvedType()
at Microsoft.MetadataReader.TypeProxy.GetHashCode()
at System.Collections.Generic.ObjectEqualityComparer`1.GetHashCode(T obj)
at System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(TKey key, TValue& value)
at Microsoft.VisualStudio.DesignTools.XamlDesigner.Metadata.XamlPlatformMetadata.GetType(Type type)
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.TypeResolver.GetType(String key, IAssembly assembly, Type type)
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.TypeResolver.GetType(Type type)
at Microsoft.VisualStudio.DesignTools.XamlDesigner.Metadata.XamlProjectMetadata.GetType(Type type)
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.ProjectContextType.Cache()
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.ProjectContextType.Initialize(IXmlNamespace xmlNamespace, Type type)
at Microsoft.VisualStudio.DesignTools.XamlDesigner.Metadata.MockType.Initialize(IXmlNamespace xmlNamespace, Type type)
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.TypeResolver.GetType(String key, IAssembly assembly, Type type)
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.TypeResolver.GetType(Type type)
at Microsoft.VisualStudio.DesignTools.XamlDesigner.Metadata.XamlProjectMetadata.GetType(Type type)
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.ProjectContextType.Cache()
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.ProjectContextType.Initialize(IXmlNamespace xmlNamespace, Type type)
at Microsoft.VisualStudio.DesignTools.XamlDesigner.Metadata.MockType.Initialize(IXmlNamespace xmlNamespace, Type type)
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.TypeResolver.GetType(String key, IAssembly assembly, Type type)
at Microsoft.VisualStudio.DesignTools.Platform.Metadata.TypeResolver.GetType(Type type)
at Microsoft.VisualStudio.DesignTools.XamlDesigner.Metadata.XamlProjectMetadata.GetType(Type type)
at Microsoft.VisualStudio.DesignTools.XamlDesigner.Tools.Assets.AssemblyAssetProvider.SynchronizedInitialize()
at Microsoft.VisualStudio.DesignTools.XamlDesigner.Tools.Assets.AssemblyAssetProvider.UpdateAssets()
at Microsoft.VisualStudio.DesignTools.Designer.Tools.Assets.AssetProvider.Update()
at Microsoft.VisualStudio.DesignTools.Designer.Tools.Assets.AssetLibrary.UpdateAssetProvidersWorker()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority)
at Microsoft.VisualStudio.DesignTools.Platform.Utility.UIThreadDispatcherHelper.Invoke(DispatcherPriority dispatcherPriority, Action action)
at Microsoft.VisualStudio.DesignTools.Designer.View.DesignTimeResourceResolver.Resolve(IDocumentContext documentContext, EditDesignTimeResourceModelMode mode, String missingResourceName) ........etc如果我在Visual中调试这个(附加到blend.exe进程),我会得到以下错误:
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll
Additional information: Could not find a part of the path '<path to my project>\Design\projectGuides.guides'.这个“设计”文件夹不存在,我不知道它是从哪里被请求的。我没有在我的整个项目中定义任何指南或类似的东西。
另外,我看不出这两条消息之间有任何联系。
如果有任何建议或想法,将不胜感激!
发布于 2015-09-23 10:20:30
溶液
因此,当我更新到.NET框架4.6时,解决方案变得清晰起来。异常变成了返回搜索中有用的东西的东西:
Cannot add additional fields to a type that does not have a constructor搜索它时的第一个结果是科拉多的博客,在这里我被定向到工具>选项> XAML设计器中的设置,然后勾选“在XAML设计器中运行项目代码(如果支持的话)”选项。
从那以后就没问题了。希望这能对其他人有所帮助。
发布于 2016-03-16 09:00:00
有趣的是,我的混合版本没有选择。窗口的其余部分看起来是相等的,只缺少上述选项:/。
但是,可以在excpetion对话框中单击第二个选项:单击此处启用运行项目代码并重新加载设计器。
该选项还可以通过设计器窗口左下角的一个小按钮被禁用:

有关进一步解释,请参见这里。
发布于 2016-03-25 06:43:30
我正面临着类似的问题。Visual中的视图运行良好。我得到了一个例外:
Type universe cannot resolve assembly: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a所以设计人员在BLEND中显示了1-2秒的视图,然后抛出了异常。
我对这个问题的解决办法是:
我打开了VS csproj文件,发现引用中出现了另一行,我不知道为什么,因为我还没有使用Unit测试。参考如下:
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />在注释掉之后,designer不再抛出这个异常。因此,我希望它能帮助目前正在寻找解决方案的人:)
https://stackoverflow.com/questions/32474614
复制相似问题