PostSharp中的TypeInitializationException

时间:2014-12-09 12:38:54

标签: c# visual-studio-2012 postsharp

我已将PostSharp(4.0.37)和PostSharp.Patterns.Model添加到我的项目中。然后它编译并运行正常。

然后我将[NotifyPropertyChanged]添加到我非常简单的缩小示例类(仅包含一个int32 auto-property)。该项目仍在编译,但它会在启动时抛出TypeInitializationException:

  

未处理的类型' System.TypeInitializationException'   发生在Microsoft.VisualStudio.HostingProcess.Utilities.dll

中      

附加信息:'< Module>'的类型初始值设定项扔了一个   异常。

VS 2012.4,Win7(x64),尝试过.net 4,4.5,4.51和3.5,同样的事情发生了。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我想我发现:出于某种原因,NuGet首先安装了PostSharp的alpha版本(4.1.4.0),这对我来说并不起作用(编译错误)。当我发现版本问题时,我卸载了它并且非常谨慎地安装了稳定版本。但是,我刚刚意识到app.config文件中还有一个设置:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="PostSharp" publicKeyToken="b13fd38b8f9c99d7" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

我删除了整个部分,现在我的测试应用程序中包含了我的小课程!