在VS2012中获取TypeInitializationException,但不是2010

Evi*_*key 4 c# wpf visual-studio-2010 visual-studio

TypeInitializationException当我尝试在Visual Studio 2012中调试我的应用程序时,我得到了一个,但我能够在Visual Studio 2010中运行该应用程序而不会出现错误.

我最近移动了一堆东西(包括我的项目和几个引用),以便将它带入版本控制系统.我不得不重新链接几个项目,以便在另一个系统上签出时一切都能正确链接.

我们的开发环境喜忧参半(VS2010和VS2012).耗尽VS2010没有产生任何错误.但是当我在VS2012中运行Debug时,我收到了TypeInitializationException异常.

原始目录中的项目(在移动以进行版本控制之前驻留的位置)在VS2010和VS2012中仍然可以正常运行.

有一个标志或参数或某些东西在某处有点混乱,但我不知道在哪里.有没有人对我能做些怎么做才能让它在VS2012中运行?

(请告诉我这里包含的代码或配置信息)

的InnerException:

'System.Windows.Navigation.BaseUriHelper'的类型初始值设定项引发了异常.

(第二)InnerException:

'MS.Internal.TraceDependencyProperty'的类型初始值设定项引发了异常.

Evi*_*key 10

对原始问题的评论引发了进一步的搜索,最终产生了解决方案.

搜索"System.Windows.Navigation.BaseUriHelper的类型初始化程序"引发异常.我发现了以下StackOverflow问题:WPF应用程序在启动时因TypeInitializationException而失败

与该问题类似,我在<startup> </startup>"app.config"文件中添加了一个块.放置此标记块的地方有所不同:

导致VS2012错误:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
    </startup>
    <configSections>
       ...
    </configSections>
    <applicationSettings>
       ...
    </applicationSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

一切正常:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
       ...
    </configSections>
    <applicationSettings>
       ...
    </applicationSettings>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
    </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

将标签块移动到底部就可以了!


归档时间:

查看次数:

4119 次

最近记录:

11 年,11 月 前