Moles使用x86版本編譯

有時專案載入了有x86版與x64版的組件,因為萬惡的Visual Studio 2010是x86版,所以在開發時必需使用x86版本的組件,但是Moles預設是使用x64的執行檔,所以二著相衝,編譯就失敗了,不過還好可以在MSBuild中設定來解決問題。

有時專案載入了有x86版與x64版的組件,因為萬惡的Visual Studio 2010是x86版,所以在開發時必需使用x86版本的組件,但是Moles預設是使用x64的執行檔,所以二著相衝,編譯就失敗了,不過還好可以在MSBuild中設定來解決問題。

 

只要在的專案檔中,如:*.csproj的中任一PropertyGroup加入下面一行就可以了


    <PropertyGroup>
        <MolesForceX86>true</MolesForceX86>
    </PropertyGroup>
</Project>  

 

不過呢因為我的專案習慣Debug用x86,Release用x64,所以我會這樣設定


  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">    
    <MolesForceX86>true</MolesForceX86>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
        <!--Release不加MolesForceX86-->
  </PropertyGroup>
</Project>

當然也可以寫成這樣


  <PropertyGroup>    
    <MolesForceX86 Condition=" '$(Platform)' == 'x86' ">true</MolesForceX86>
  </PropertyGroup>
</Project>

NOTE:

編譯選項在很多很多地方可以設定,常見的二個地方如下:

1.工具列

image

 

2.Configuration Manager

image

可以藉著切換選項來,來變更MSBuild的執行設定。

 

參考資料

1.MSBuild 參考 - MSDN

1-1.MSBuild 條件