解决 dotfuscator 无法正常编译的问题

某天准备生成APPX包,突然就一直生成不了了,查看任务管理器,在运行一个ildsm的任务,强行中断编译过程,输出结果可以看出是在混淆过程的出的问题

一步步reset-hard commit 定位问题,发现是 https://github.com/manuelroemer/Nullable 包的引入导致的问题

在配置文件中增加以下内容

      
<namespace name="System.Diagnostics.CodeAnalysis" />

<type name=".*" regex="true" excludetype="false"> <method name=".*" regex="true"> <customattribute name="System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute" regex="true" /> </method> </type>

仍然无效

改成

      <type name=".*" regex="true" excludetype="false">
        <method name=".*" regex="true">
          <customattribute name="System.Diagnostics.CodeAnalysis.*" regex="true"/>
        </method>
      </type>

还是无效

尝试把原来就有的

      <type name=".*Attribute" regex="true" />

改成

      <type name=".*Attribute" regex="true" >
        <method name=".*" regex="true" />
        <propertymember name=".*" regex="true" />
        <field name=".*" regex="true" />
      </type>

仍然无效

 

目前确定两个与nullable有关的commit c0be5606 Commit 16359c10的确导致了这个问题。但具体是哪些操作导致的待查。

posted @ 2020-04-16 10:21  yinyue200  阅读(276)  评论(0编辑  收藏  举报
知识共享许可协议
本博客原创内容默认采用知识共享署名 4.0 国际许可协议进行许可。