通过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应该是在编译成功后会对文件进行打包,这时缺少文件就会出问题。