C#: 解决Fody is only supported on MSBuild 16 and above
背景信息:
使用Costura.Fody插件将自己写的程序打包成一个可以独立运行的EXE文件
我们在开发程序的时候会引用很多DLL文件,在程序完成编写后,如果不把这些引用的DLL打包,在拷贝给到别人使用的时候很不方便,每次要拷贝执行文件还要加上相应的DLL文件。那能不能把DLL等都打包到EXE文件中呢,这里就要用到Costura.Fody插件完成,超级简单方便:
打开你的解决方案,依次找到“工具”---“NuGet包管理” - “管理解决方案的NuGet程序包”,到了这一步会打开NuGet-解决方案页面,在浏览选项下面的搜索框内输入“ Costura.Fody ”,会自动搜索出Costura.Fody插件,鼠标左键单击一下Costura.Fody插件,在右边的位置会出现你的项目名称,选中你的项目名称,选择安装,Costura.Fody就成功安装到你的项目上了。再次编译项目,就会看到生成的执行文件exe大小变大了(一般都超过1M,就是把DLL都包含进去了)。
问题:安装完Costura.Fody之后再编译解决方案,报错:FodyWeavers.xml文件找不到;或者编译后发现执行文件EXE还是只有几十KB的大小(并未包含DLL文件)。
报错原因:Costura.Fody是依赖Fody的,通常在安装Fody时,FodyWeavers.xml通过 NuGet的内容功能进行部署。然而,在高版本NuGet ,没有自动创建FodyWeavers.xml文件。
解决方法:自己手动添加FodyWeavers.xml文件。将鼠标移动到你的解决方案上面,单击右键,依次选择“添加” - “新建项目” - “ XML文件 ”,注意在新建XML文件时将文件命名为“ FodyWeavers.xml “,然后将下面这段代码复制到 FodyWeavers.xml文件里面即可。
<?xml version="1.0" encoding="utf-8" ?>
<Weavers>
</Weavers>
现状问题:
最近在用VS2013去生成独立EXE文件的时候报错:"Fody is only supported on MSBuild 16 and above. Current version: 15."
报错原因:因为VS2013版本过旧,现在Fody到5.0+,Costura.Fody到4.0+,不支持低版本VS。据说是有意为之,希望大家都使用最新的VS。
解决方法:卸载掉项目中的Fody和Costura.Fody,然后手动安装低版本的Fody和Costura.Fody。
可以在VS的程序包管理器控制台中输入Install-Package Fody -Version 4.2.1来安装4.2.1版本的Fody,然后输入Install-Package Costura.Fody -Version 3.3.3来安装3.3.3版本的Costura.Fody。
参考Fody和Costura.Fody的版本链接地址:
Fody 4.2.1
Costura.Fody 3.3.3
C#: 解决Fody is only supported on MSBuild 16 and above的更多相关文章
- 【tp6】解决Driver [Think] not supported.
使用助手函数view时会出现 解决方法:使用composer安装composer require topthink/think-view
- 解决 unresolved external symbol 无法解析 _send@16(转)
(1) vc网络编程中遇到一个编译问题,原来是少了WSOCK32.LIB. 在 project-->settings-->Link-->Object/Library modules ...
- 将exe和dll打包为一个exe文件
通过Nuget安装Costura.Fody 公司项目需要支持.NET 4.0(使用VS2017),Costura.Fody库从3.2.1开始支持4.0,但是不能装最新的Fody,否则会提示: Fody ...
- Win7 VS2019安装后创建C++工程失败解决
VS2019正式上手,第1个问题创建不了工程,看起来非常类似之前VS2017更新 解决办法 https://github.com/Microsoft/msbuild/issues/4286 和上次的问 ...
- MySQL server has gone away 问题的解决方法
mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了. 造成这样的原因一般是s ...
- 启动android程序和虚拟机时候出现如下错误的解决方法
启动android程序和虚拟机时候出现如下错误的解决方法. 错误重现: [2011-07-13 16:22:48 - Emulator] invalid command-line parameter: ...
- MySQL server has gone away 解决方法
应用程序(比如PHP)长时间的执行批量的MYSQL语句.执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段.比如,图片数据的处理.都容易引起MySQL server has ...
- 解决Lost connection to MySQL server during query错误方法
昨天使用Navicat for MySQL导入MySQL数据库的时候,出现了一个严重的错误,Lost connection to MySQL server during query,字面意思就是在查询 ...
- MySQL server has gone away 问题的解决方法(转)
mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了. 造成这样的原因一般是s ...
随机推荐
- 帝国CMS系统目录结构介绍
帝国CMS目录结构介绍 / 系统根目录├d/ 附件和数据存放目录 (data)│├file/ 附件存放目录│├js/ JS调用生成目录│└txt/ ...
- springboot整合spring Data JPA
今天敲代码,一连串的错误,我也是服气~果然,我们不是在出bug,就是在找bug的路上…… 今天完成的是springboot整合spring data JPA ,出了一连串的错,真是头大 java.sq ...
- Mysql中 instr与concat
#INSTR(字符串, 子串),#返回值:第一个子串的索引-1#类似indexOf()#例如:SELECT INSTR('人民万岁,世界万岁','万')SELECT INSTR('人民万岁,世界万岁' ...
- python基础 while 字符串方法 运算符
一.while 1.while 死循环 f=True while f: print(1) print(2) 2.while 活循环 ①.正序 count = 1 while count <= 5 ...
- Python—文件读写操作
初识文件操作 使用open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了,根据打开文件的方式不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, ...
- [视频教程] 使用composer安装使用thinkphp6.0框架
安装composer -vvv的参数是表示展示安装进度,测试时使用其他参数安装失败,一直卡着不动curl -vvv https://getcomposer.org/installer | phpmv ...
- centos7下关闭防火墙
查看防火墙:systemctl status firewalld.service 关闭防火墙:systemctl stop firewalld.service 以上方式是暂时的,重启系统则防火墙仍然开 ...
- vue中keepAlive的使用
在开发中经常有从列表跳到详情页,然后返回详情页的时候需要缓存列表页的状态(比如滚动位置信息),这个时候就需要保存状态,要缓存状态:vue里提供了keep-alive组件用来缓存状态.可以用以下几种方案 ...
- 并行计算:并行I/O服务器的操作参数
视频来源:新竹清华大学:并行计算与并行编程课程 上图结论:随着年限,计算力的增长很快,而I/O近于平缓,二者之间的差距增大,带来不利的影响.需要一些方法来处理这较大的差距. 解决方案: 1:I/O 内 ...
- oracle存储过程中循环游标,变量的引用
创建出错时使用: show errors查看具体的错误提示 一. 存储过程中的一个循环及变量引用示例: create or replace procedure my_proiscursor cur i ...