將exe和dll打包為一個exe文件


通過Nuget安裝Costura.Fody

公司項目需要支持.NET 4.0(使用VS2017),Costura.Fody庫從3.2.1開始支持4.0,但是不能裝最新的Fody,否則會提示:

Fody is only supported on MSBuild 16 and above. Current version: 15.

搜索之后發現,Fody庫最高4.2.1版本可以支持15版本的MSBuild,所以目前的搭配是:

Costura.Fody庫 3.2.1

Fody庫 4.2.1

編譯一切正常

 

注意:如果一開始就安裝較低版本的Costura.Fody,可能會有和FodyWeavers.xml有關的錯誤,參考這里:https://www.cnblogs.com/danvy/p/11164271.html

建議是先安裝最新版本的Costura.Fody,然后將版本降到合適的搭配,這樣可以就可以不用處理FodyWeavers.xml有關的錯誤了。

如果還有警告的話,FodyWeavers.xml已經產生在本地了,只需要把它加入項目即可。

 FodyWeavers.xml的內容如下:

<?xml version="1.0" encoding="utf-8"?>
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
  <Costura />
</Weavers>

 

 

注意2:所有引用文件的復制本地屬性必須設為True,否則會有問題,猜測應該是Costura應該是在編譯成功后會對文件進行打包,這時缺少文件就會出問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM