2016-11-18 48 views
2

我試圖解決的輸出之間的差異2:單聲道/ XBuild固定語言(固定區域性)與VS2015的MSBuild的中性語言

  • 的Windows 8 /的Visual Studio 2015/MSBuild的 和
  • Debian的8.2 /單聲道版本4.6.2.0/XBuild引擎版本14.0

這些問題兩者都是在這個例子回購這裏詳細:https://github.com/DavidACL/SatelliteAssemblyCustomAttributesIssue/tree/master 該項目是一個簡單的C#/。NET 4.5應用demoing的問題(包括XBuild輸出)。

的第一個問題,題爲Mono Missing Satellite Assembly Custom Attributes and Version,我相信,通過候審的PR https://github.com/mono/mono/pull/3463解決,並在此編譯器錯誤,指出https://bugzilla.xamarin.com/show_bug.cgi?id=12671

但是,我無法找到我的第二個問題的任何信息:

當通過右鍵單擊.exe或.dll並查看詳細信息選項卡來查看語言屬性時,MSBuild和XBuild輸出之間似乎有區別。如果你有一個衛星組件,還有一個更大的區別。

的MSBuild:正如所預期的,主要組件具有細節標籤語言(技術上塊首如果DLL/EXE在Visual Studio打開,並且檢查值)=不確定語言。

Simialarly,所述的MSBuild去DE衛星組件的.dll具有細節標籤語言=語言中性

組裝:

enter image description here

衛星程序集:

enter image description here


單聲道/ XBuild:主組件具有細節標籤語言=不變語言(不變國家或地區),和DE-DE衛星組件具有細節標籤語言=德國(德國)

組裝:

enter image description here

衛星總裝:

enter image description here

雖然我明白,單來代替中性的使用語言特點不變默認情況下,有沒有什麼辦法可以將其轉換爲MSBuild和XBuild之間的匹配(可能通過配置步驟)? MSBuild不會將衛星程序集的語言環境傳播到詳細信息選項卡的語言字段,而XBuild是否有這個原因?同樣,這種差異可以通過任何配置步驟來消除?

回答

1

不要期望很快就會出現複雜的xbuild錯誤修正,因爲來自微軟的MSBuild已經開源,並且Xamarin團隊已經完成some work以使其跨平臺(例如,它已經運單的安裝程序適用於Mac)內。

這是唯一的時間,直到Debian開發人員的問題(或貢獻者,像你?)封裝它(xbuild變得過時了)。在此期間,你可以建立它自己,並嘗試一下。