2010-09-09 35 views
1

有沒有辦法讓我將資源插入到另一個程序集的清單中?將資源注入到.NET程序集的清單中post-build

我一直在嘗試使用MSBuild和ILMerge,但顯然彙編鏈接器創建的資源彙編無法與ILMerge合併,看起來像ILMerge無法完成資源合併。

al /out:Resources.dll /embed:Test.txt,Resources.Test 

ilmerge只是產生錯誤

ILMerge.Merge: Could not load assembly from the location 'Resources.dll' 

回答

2

好吧,其實我有,我ILMerge版本一定是越野車...

我把C#類模板cs文件答案並編譯成最簡單的方法

> csc /target:library Class1.cs 

然後我使用Windo的Assembly Linker部分WS SDK創建一個普通的資源組件(快)

> al /out:TextFile1.dll /embed:TextFile1.txt 

最後這部分失敗,一個愚蠢的空引用異常,我想這最後的時光。但就在現在它像一個魅力。

> ilmerge /out:Merged.dll Class1.dll TextFile1.dll 

可以使用ildasm

> ildasm /text Merged.dll 
... 
.mresource public TextFile1.txt 
{ 
    // Offset: 0x00000000 Length: 0x00000003 
} 

驗證結果......,這就是它!

我使用它來將構件作爲構建過程的一部分注入構件後構建中。例如SVN日誌信息。以便我可以跟蹤特定版本和人員的二進制文件。

相關問題