zoukankan      html  css  js  c++  java
  • 代码修改之后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:WindowsMicrosoft.NETFramework64v4.0.30319MSBuild "D:JenkinsReleaseAgencyHKHK-Centa-Agency-Web-SIMScriptwcf.msbuild" /p:Environment=Production 

     wcf.msbuild脚本描述

    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="Clean;Compile">

    <ItemGroup>
    <BuildArtifactsDir Include="..Releasewcf\" />
    <SolutionFile Include="D:jenkinsworkspaceHK-Centa-Agency-Web-SIMsourcecodeCenta.Agency.ServiceCenta.Agency.Service.sln" />
    <BuildBinDir Include="D:jenkinsworkspaceHK-Centa-Agency-Web-SIMsourcecodeCenta.Agency.ServiceBin\" />
    </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>

  • 相关阅读:
    洛谷P1071 潜伏者
    2019BJFU 网站设计(孙俏-web前端开发)实验代码-181002222
    反思——P1307 数字反转
    洛谷P1067 多项式输出
    湖南大学第十五届程序设计竞赛(重现赛)
    2019河北省大学生程序设计竞赛(重现赛)
    2019BJFU C++实验习题(完结)
    配置android source 在ubuntu中编译环境
    Android屏幕保持唤醒状态
    Android richtext
  • 原文地址:https://www.cnblogs.com/muer/p/10063367.html
Copyright © 2011-2022 走看看