我在Expression Blend 2013 RC2中创建了一个新的解决方案并保存了它。 然后我在Visual Studio 2013中打开了解决方案RC2进行了一些更改并保存了它。我可以在Expression Blend中打开解决方案,没有任何问题。
然后我创建了一个F#Portable Library项目并重新保存了解决方案。我无法再在Expression Blend中打开解决方案,因为Blend会在打开时崩溃。
如果我附加一个调试器,它会显示一个NullReferenceException:
System.NullReferenceException was unhandled
Message: An unhandled exception of type 'System.NullReferenceException' occurred in PresentationFramework.dll
Additional information: Object reference not set to an instance of an object.
,堆栈跟踪如下:
> Microsoft.Expression.Project.dll!Microsoft.Expression.Project.ProjectService.OpenSolution(Microsoft.Expression.Utility.IO.DocumentReference solutionOrProjectReference = {Microsoft.Expression.Utility.IO.DocumentReference}, bool addToRecentList, bool openInitialScene) Unknown
Microsoft.Expression.Project.dll!Microsoft.Expression.Project.Commands.OpenRecentProject.Execute() Unknown
Microsoft.Expression.Utility.dll!Microsoft.Expression.Utility.Commands.CommandTarget.ExecuteCommand(string commandName = "Project_OpenRecentProject_1", Microsoft.Expression.Utility.Commands.CommandInvocationSource invocationSource = MenuItem) Unknown
Microsoft.Expression.Framework.dll!Microsoft.Expression.Framework.Commands.CommandService.ExecuteCommand(string commandName = "Project_OpenRecentProject_1", Microsoft.Expression.Utility.Commands.CommandInvocationSource invocationSource = MenuItem) Unknown
Microsoft.Expression.Utility.dll!Microsoft.Expression.Utility.UserInterface.CommandBarButtonBase.Execute.AnonymousMethod__0() Unknown
WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs) Unknown
WindowsBase.dll!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(object source = {System.Windows.Threading.Dispatcher}, System.Delegate method, object args, int numArgs, System.Delegate catchHandler = null) Unknown
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.InvokeImpl() Unknown
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(object state) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Unknown
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.Invoke() Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.ProcessQueue() Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.WndProcHook(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled) Unknown
WindowsBase.dll!MS.Win32.HwndWrapper.WndProc(System.IntPtr hwnd = 5899532, int msg = 49869, System.IntPtr wParam = 0, System.IntPtr lParam = 0, ref bool handled = false) Unknown
WindowsBase.dll!MS.Win32.HwndSubclass.DispatcherCallbackOperation(object o) Unknown
WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs) Unknown
WindowsBase.dll!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(object source = {System.Windows.Threading.Dispatcher}, System.Delegate method, object args, int numArgs, System.Delegate catchHandler = null) Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs) Unknown
WindowsBase.dll!MS.Win32.HwndSubclass.SubclassWndProc(System.IntPtr hwnd = 5899532, int msg = 49869, System.IntPtr wParam = 0, System.IntPtr lParam = 0) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame frame = {System.Windows.Threading.DispatcherFrame}) Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame frame) Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.Run() Unknown
PresentationFramework.dll!System.Windows.Application.RunDispatcher(object ignore) Unknown
PresentationFramework.dll!System.Windows.Application.RunInternal(System.Windows.Window window) Unknown
PresentationFramework.dll!System.Windows.Application.Run(System.Windows.Window window) Unknown
PresentationFramework.dll!System.Windows.Application.Run() Unknown
Microsoft.Expression.Framework.dll!Microsoft.Expression.Framework.ExpressionApplication.RunApplication() Unknown
Microsoft.Expression.Blend.dll!Microsoft.Expression.Blend.BlendApplication.Start() Unknown
Blend.exe!Microsoft.Expression.Application.Main(string[] args) Unknown
如果我删除了F#项目。重建并重新保存解决方案,然后再次正确地在Blend中打开解决方案。
这是一个已知问题吗? 有解决方法吗?
由于
编辑
我没有向任何项目添加任何代码,因此所有代码都只是空项目,使用您在创建解决方案/项目时获得的标准.cs和.fs文件。