通過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應該是在編譯成功后會對文件進行打包,這時缺少文件就會出問題。