天天看點

關于VC2008程式釋出的問題記錄說明

今天可以說是犯了一個愚蠢的錯誤,長期維護的一個工程,依賴衆多的DLL工程和檔案。居然由于部分DLL工程的屬性被意外的修改,導緻DEBUG和RELEASE版本的檔案進行混合釋出,結果發生了程式完全不能初始化的錯誤。定位分析2天,通過各種排查才最終發現這個非常簡單的低級錯誤,真是要命。

VC2008釋出政策雖然稍顯複雜和晦澀,但也工作的良好。以下是一個标準的應用程式輸出的manifest檔案參考

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

    <security>

      <requestedPrivileges>

        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>

      </requestedPrivileges>

    </security>

  </trustInfo>

  <dependency>

    <dependentAssembly>

      <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

    </dependentAssembly>

  </dependency>

  <dependency>

    <dependentAssembly>

      <assemblyIdentity type="win32" name="Microsoft.VC90.MFC" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

    </dependentAssembly>

  </dependency>

  <dependency>

    <dependentAssembly>

      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>

    </dependentAssembly>

  </dependency>

</assembly>

繼續閱讀