2011-09-09 44 views
1

我有這個問題:我的test.dll中有 我有一個帶圖標png按鈕的用戶控件,我的test.exe包含test.dll中的usercontrol,一切正常。 後,我用ilmerge像這樣創建testMerged.exe:c#ilmerge dll上的圖標問題

ilmerge /wildcards /t:winexe /out:$(TargetDir)testMerged.exe 
$(TargetPath) $(TargetDir)test.dll 

和程序工作正常,但該按鈕沒有圖標....我怎麼能解決這個問題?

+0

的WinForms(System.Windows.Forms的。 Usercontrol)或WPF(S ystem.Windows.Controls.Usercontrol)?圖標是如何分配給按鈕的? – springy76

+0

winforms,是用visual studio 2008構建的,圖標是一個經典的透明png文件(如果我啓動test.exe可以正常工作,圖標在按鈕上,但是如果我啓動testMerged,則按鈕顯示爲不帶圖標.. ..) – ghiboz

回答

1

這是我如何得到它的工作:

類庫

  • 創建新的類庫
  • 創建用戶控制
  • 用戶控制
  • 添加按鈕,在項目屬性,添加圖像資源(現有png文件)
  • 將png文件上的Build Action設置爲Embedded Resource
  • 設置使用

    this.button1.Image =全​​球:: ClassLibrary1.Properties.Resources.MyImage按鈕圖像;

贏形成

  • 創建新的WinForm項目
  • 添加參考類庫項目
  • 重建(獲得在工具箱中的用戶控件)
  • 添加用戶控件表格
  • 將帖子構建動作設置爲

    「c:\ Program Files(x86)\ Microsoft \ ILMerge \ ILMerge.exe」/ t:winexe/targetPlatform:v2 /out:$(TargetDir)testMerged.exe $(TargetPath)$(TargetDir)ClassLibrary1.dll

  • 重建

  • 運行testMerged.exe

我的結果:

[不足夠的代表處發佈的圖像:(]

+0

謝謝,但是我做的和圖像沒有顯示完全一樣...似乎只有ilmerge的問題,因爲啓動exe編譯的工作正常... :( – ghiboz

+0

@ghiboz你好嗎按鈕上的圖像?是否使用ILSpy查看圖像是否正確存儲在合併的程序集中? – ILovePaperTowels

+0

hmmm不,我不知道ILSpy,我使用了designtime,點擊了按鈕屬性上的圖片,並將圖片選入項目資源 – ghiboz