我有一個控制檯應用程序引用解決方案中的其他項目。當我構建它時,它將在Debug中複製這些DLL。我想在exe中導入它們。如果我將它們添加到資源然後從那裏加載,它們不會更新。我失去了對引用的DLL的更改。有沒有一種方法可以構建它們並將它們導入到每個構建的可執行文件中?如何將引用的項目導入到exe中?
0
A
回答
0
這裏是爲我工作的解決方案:
它合併後的每個組件建立與ILMerge(如在意見提出)。我需要更新.targets文件的.NET Framework 4,如果有人需要它:
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Target Name="AfterBuild">
<CreateItem Include="@(ReferencePath)" Condition="'%(CopyLocal)'=='true' and '%(ReferencePath.IlMerge)'=='true'">
<Output TaskParameter="Include" ItemName="IlmergeAssemblies"/>
</CreateItem>
<Message Text="MERGING: @(IlmergeAssemblies->'%(Filename)')" Importance="High" />
<Exec Command=""$(ProgramFiles)\Microsoft\Ilmerge\Ilmerge.exe" /out:@(MainAssembly) "@(IntermediateAssembly)" @(IlmergeAssemblies->'"%(FullPath)"', ' ') /target:exe /targetplatform:v4,C:\Windows\Microsoft.NET\Framework64\v4.0.30319 /wildcards" />
</Target>
<Target Name="_CopyFilesMarkedCopyLocal"/>
</Project>
更新
雖然上述工程的解決方案,你可以把它簡單,你就不需要目標文件。您可以將ILMerge放在解決方案的某個位置。然後在構建之後從那裏調用它。 ILMerge.exe是您需要的全部,在/solutionDirectory/Tools
之類的地方複製它。在你的post-build事件命令行中寫一個命令。
$(SolutionDir)Tools\ILMerge.exe /out:"$(ProjectDir)bin\Debug\WindowsGUI.exe" "$(ProjectDir)obj\x86\Debug\WindowsGUI.exe" "$(SolutionDir)BusinessLayer\bin\Debug\BusinessLayer.dll" /target:exe /targetplatform:v4,"$(MSBuildBinPath)" /wildcards
構建後,你會得到與嵌入式DLL中的.exe文件,你可以單獨運行它。
4
您可以使用ILMerge將多個程序集合併成一個。
0
傑弗裏裏希特對這個題目的文章:
的關鍵是
對於添加的每一個DLL文件,顯示其屬性,並改變其生成操作嵌入的資源。
+0
當您添加項目作爲參考時,它會在參考下。當它是參考時,沒有選擇將其標記爲嵌入式資源。 –
相關問題
- 1. 如何將.exe項目引用到WCF服務?
- 2. C++將項目導出到exe
- 3. 如何將exe項目鏈接到另一個exe項目中的類
- 4. 如何將項目導入到Android Studio?
- 5. 如何將文檔導入引用dll的新項目?
- 6. 將BeamMusicPlayer導入到我的項目中
- 7. 如何將應用程序項目引用到庫項目中?
- 8. 如何將Castle Windsor「引導」到我的ASP.NET MVC 6項目中?
- 9. 如何將my.sqlite3導入到Xcode中的iPhone項目中
- 10. 如何將nodejs項目導入到nodejs中eclipse中的mac
- 11. 如何將CVS中的單個文件導入到項目中
- 12. 如何將DLL導入到Eclipse中的JAVA項目中?
- 13. 如何從單元測試的.exe項目導入代碼
- 14. 將tensorflow導入到Android項目中
- 15. 將SVN項目導入到ClearCase中
- 16. 將Eclipse項目導入到Perforce中
- 17. 將Netbeans項目導入到Eclipse中
- 18. 將Maven Akka項目導入到eclipse中
- 19. 將GitHub項目導入到Eclipse中
- 20. 將appcompat-v7導入到項目中
- 21. 將Java類導入到python項目中
- 22. 將OpenCV項目導入到Eclipse中
- 23. 將Dreamweaver項目導入到CFBuilder中
- 24. 將React元素導入到項目中
- 25. 將jar文件導入到項目中
- 26. 將Yii包導入到項目中
- 27. 從單元測試.EXE項目引用VC++ .EXE項目中的類
- 28. fontWithName:size:如何將自己的字體導入到項目中?
- 29. 如何將assimp導入到我的Xcode項目中?
- 30. 如何將APIDEMOS導入到我的項目中
我試圖自動化它 –
這可以通過生成後事件來完成。 –
你能提供一個例子嗎? –