代码修改之后MSbuild编译不出最新的dll解决方法
问题:
使用jenkins发布的时候,开发不断反馈自己修改的文件使用jenkins没有发布到测试环境。经过查证发现使用MSBUILD编译的时出现修改的文件编译出的日期不是最新日期,但是使用VS编译就不会出现此问题。
解决方案:
在Project里面添加元素:添加InitialTargets="Clean;Compile"之后解决。
我理解是初始目标(InitialTargets)需要进行清理(Clean),编译(Compile),类似在手动解决方案里面右击鼠标进行:清理(Clean),编译(Compile)。也就是使用代码代替手动操作的第一步。
对我有启示的帖子:
https://technet.microsoft.com/zh-cn/ms171463
VS生成的各种方法及定义:
-- 选择“生成”或“生成解决方案”,将只编译自上次生成以来更改过的那些项目文件和组件。
注意
如果解决方案中包括多个项目,则“生成”命令将变成“生成解决方案”。
选择“重新生成解决方案”,将首先“清理”解决方案,然后生成所有项目文件和组件。
选择“清理解决方案”将删除所有中间文件和输出文件,只留下项目文件和组件文件,以后可以从这些文件生成中间文件和输出文件的新实例。
使用msbuild编译源代码脚本描述
注意:Release与Debug模式生成文件大小不一样。Debug(除错)不是Debuge(调试器)。Release意思:释放;发布;发行;放开。
命令行:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild "D:\JenkinsRelease\Agency\HK\HK-Centa-Agency-Web-SIM\Script\wcf.msbuild" /p:Environment=Production
wcf.msbuild脚本描述
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="Clean;Compile">
<ItemGroup>
<BuildArtifactsDir Include="..\Release\wcf\\" />
<SolutionFile Include="D:\jenkins\workspace\HK-Centa-Agency-Web-SIM\sourcecode\Centa.Agency.Service\Centa.Agency.Service.sln" />
<BuildBinDir Include="D:\jenkins\workspace\HK-Centa-Agency-Web-SIM\sourcecode\Centa.Agency.Service\Bin\\" />
</ItemGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<BuildPlatform Condition=" '$(BuildPlatform)' == '' ">Any CPU</BuildPlatform>
</PropertyGroup>
<Target Name="Compile" DependsOnTargets="Init">
<MSBuild Projects="@(SolutionFile)" Targets="Rebuild"
Properties="OutDir=%(BuildArtifactsDir.FullPath);
Configuration=$(Configuration);
Platform=$(BuildPlatform)" />
</Target>
<Target Name="Init" DependsOnTargets="Clean">
<MakeDir Directories="@(BuildArtifactsDir)" />
<MakeDir Directories="@(BuildBinDir)" />
</Target>
<Target Name="Clean">
<RemoveDir Directories="@(BuildArtifactsDir)" />
<RemoveDir Directories="@(BuildBinDir)" />
</Target>
</Project>
代码修改之后MSbuild编译不出最新的dll解决方法的更多相关文章
- 服务器个人环境下pytorch0.4.1编译warp-ctc遇到的问题及解决方法
一.关于warp-ctc CTC可以生成一个损失函数,用于在序列数据上进行监督式学习,不需要对齐输入数据及标签,经常连接在一个RNN网络的末端,训练端到端的语音或文本识别系统.CTC论文 CTC网络的 ...
- Ant编译utf-8非法字符:/65279 解决方法
原文链接:http://blog.csdn.net/xiyuan1999/article/details/5989336 Ant编译utf-8非法字符:/65279 解决方法 使用ant编译j ...
- 无需重新编译php加入ftp扩展的解决方法
无需重新编译php加入ftp扩展的解决方法 本文为大家介绍无需重新编译php加入ftp扩展的方法,有需要的朋友可以参考下 首先,进入源码目录cd php-5.2.13/ext/ftp #运行p ...
- XCode编译文件过多导致内存吃紧解决方法
XCode编译文件过多导致内存吃紧解决方法 /Users/~~/Library/Developer/Xcode/DerivedData 1) 然后 找到编译文件 删除 就好了哦 快去试试看吧
- 出错提示:“Could not flush the DNS Resolver Cache: 执行期间,函数出了问题”的解决方法
在DNS解析中,出错提示:"Could not flush the DNS Resolver Cache: 执行期间,函数出了问题"的解决方法 . 由于公司网站空间更换了服务商. ...
- vs2008 "不安全代码只会在使用 /unsafe 编译的情况下出现"的解决方法
原因是:在编译的代码里面有不安全类型unsafe方法或类! 解决方法:将项目的“可编译不安全代码”属性设置为true就可以了,方法如下:项目属性对话框->配置属性->生成->允许不安 ...
- Windows环境下的RTKPlot_Qt版本编译时遇到的问题和解决方法
在使用了 RTKLIB开源包自带的 rtkplot.exe后,知道了它所具有的功能,就想着如何模仿它做出一个 demo.一开始看的是之前下载的 2.4.2版本的 RTKLIB,里面是使用 Delphi ...
- vs2012编译出错“LC.exe”已退出解决方法
“LC.exe”已退出,代码为 -1. 解决方法: 将项目Properties下的licenses.licx文件删除,重新编译即可.
- 关于使用CodeFirst,修改类或上下文时操作数据库报错解决方法
在操作已经创建好的数据库时,若是添加新的实体类或者修改原有数据库上下文,会报如下错误: The model backing the 'StudentDbContext' context has cha ...
随机推荐
- 双系统(Windows+Ubuntu)重装Ubuntu后,修复引导
重装Ubuntu后,重启机器,Windows系统消失了.进入BIOS修改启动顺序,Windows系统恢复了,但是,刚装好的Ubuntu没了,一开机,电脑自动进入Windows. 解决办法: 用装系统的 ...
- crs_register/crs_unregister 注册与移除RAC服务 --zhuanzai
crs_register命令主要是将资源注册到CRS.该方法通常结合crs_stat -p 或者crs_profile先创建配置文件.同时crs_register也具有更新CRS的功能.本文将描述cr ...
- Sqoop导入关系数据库到Hive
参考:segmentfault.com:Sqoop导入关系数据库到Hive Sqoop 是 apache 下用于 RDBMS 和 HDFS 互相导数据的工具.本文以 mysql 数据库为例,实现关系数 ...
- django-中间件,流量统计实例
Django中间件(Middleware) 中间件,顾名思义,就是处在中间的一些软件.比如匹配到了URL,但是还没有执行view函数的时候,这个时候可以执行一些代码,这个代码就是中间件. HttpRe ...
- django2.0新增功能流程
1先在 models.py中,创建字段相关的内容,我这里添加一个博客分类的表 定义数据结构的地方 class PostType(models.Model): title = models.CharFi ...
- 小程序-Now you can provide attr "wx:key" for a "wx:for" to improve performance
转自:https://www.cnblogs.com/xpwi/p/9878871.html 小程序开发-Now you can provide attr "wx:key" for ...
- CB XE7 C11 64位编译器 成员变量初始化
看到了C++11,看到了XE7的64位,想实现下面方便的类成员初始化,失望. 一.64位用法 clang3,64位编译器,不支持中文变量名,编写代码提示没有32位快,风格简单不用写单独的赋值语句函数, ...
- 迷你MVVM框架 avalonjs 0.91发布
本版本修了一些BUG与不合理的地方,感谢感谢ztz, 民工精髓, 姚立, qiangtou等人指正. 处理AMD加载 旧式IE下移除script节点内存泄漏的问题 fix firefox 全系列vis ...
- ArcGIS中各种合并要素(Union、Merge、Append、Dissolve)的异同点分析 转载
标签: arcgis 杂谈 分类: GISArcGIS中将两个要素类合并成一个要素有Union.Dissolve.Append.Merge等,在Arctoolbox中均有相应工具,但功能上有所不同:U ...
- Linux命令之sed批量替换字符串操作
使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力: 使用的格式如下: sed -i "s/oldstring/newstring/g" `grep oldstri ...