nuget包配置复制文件到编译目录


JocPlanTask 计划任务管理 nuget包处理,希望通过nuget包可以方便的引用exe文件,输出exe文件到生成目录,方便配置任务的运行计划

包信息预览:

nuget包配置复制文件到编译目录

targets 名称要等于包名,不然不会生效

targets配置

  1. 文件名必须等于包名
  2. 文件必须处于build目录下
XML 全选
<Project>
    <PropertyGroup Condition="$(TargetFrameworkIdentifier) == '.NETCoreApp'">
        <SourceDic Condition="$(TargetFramework) == 'net5.0'">$(MSBuildThisFileDirectory)..\tools\net5\</SourceDic>
        <SourceDic Condition="$(TargetFramework) == 'net6.0'">$(MSBuildThisFileDirectory)..\tools\net6\</SourceDic>
    </PropertyGroup>
    <PropertyGroup Condition="$(TargetFrameworkIdentifier) == '.NETFramework'">
        <SourceDic Condition="$(TargetFrameworkVersion.StartsWith('v4.5')) == True">$(MSBuildThisFileDirectory)..\tools\net45\</SourceDic>
    </PropertyGroup>
    <Target Name="CopyYESPlanToolsToBinCommon" BeforeTargets="AfterBuild">
        <Copy SourceFiles="$(SourceDic)JocPlanTaskTools.exe" DestinationFiles="$(TargetDir)JocPlanTaskTools.exe" SkipUnchangedFiles="true"></Copy>
        <Message Text="JocPlanTaskTools.exe: $(TargetDir)JocPlanTaskTools.exe" Importance="high" />
    </Target>
    <Target Name="CopyYESPlanToolsToBinCore" BeforeTargets="AfterBuild" Condition="$(TargetFrameworkIdentifier) == '.NETCoreApp'">
        <Copy SourceFiles="$(SourceDic)JocPlanTaskTools.dll" DestinationFiles="$(TargetDir)JocPlanTaskTools.dll" SkipUnchangedFiles="true"></Copy>
        <Copy SourceFiles="$(SourceDic)JocPlanTaskTools.runtimeconfig.json" DestinationFiles="$(TargetDir)JocPlanTaskTools.runtimeconfig.json" SkipUnchangedFiles="true"></Copy>
        <Message Text="JocPlanTaskTools.dll: $(TargetDir)JocPlanTaskTools.dll" Importance="high" />
        <Message Text="JocPlanTaskTools.json: $(TargetDir)JocPlanTaskTools.runtimeconfig.json" Importance="high" />
    </Target>
    <Target Name="DeleteYESPlanToolsFromBin" BeforeTargets="AfterClean">
        <Delete Files="$(TargetDir)JocPlanTaskTools.exe"></Delete>
    </Target>
    <Target Name="DeleteYESPlanToolsFromBinCore" BeforeTargets="AfterClean" Condition="$(TargetFrameworkIdentifier) == '.NETCoreApp'">
        <Delete Files="$(TargetDir)JocPlanTaskTools.dll"></Delete>
        <Delete Files="$(TargetDir)JocPlanTaskTools.runtimeconfig.json"></Delete>
    </Target>
</Project>

 

配置好后,项目添加了nuget包之后,工程文件csproj中会添加如下配置

nuget包配置复制文件到编译目录

只有.net framework 平台才会在工程文件添加import配置\

.net core 中不会修改工程文件,但是仍然会起效

 

参考:https://learn.microsoft.com/zh-cn/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2022

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:.net-winform多平台编译设置 csproj配置
下一篇:SQL Update更新表数据关联表
评论列表

发表评论

评论内容
昵称:
关联文章

nuget配置复制文件编译目录
.NET Core 复制nuget依赖的dll输出目录
Nuget增加输出目录targets配置
VS打nuget无法上传nuget官网
编译项目提示报错,提示:无法将文件 "**"复制***,正由另一进程使用,因此该进程无法访问此文件
【推荐】Razor文件编译 ASP.NET Core
从一次解决Nancy参数绑定“bug”开始发布自己的第一个nuget(下篇)
简单制作一个NPM并发布www.npmjs.com
文件目录损坏且无法读取
.Net Core 5.0 Razor 预编译,动态编译,混合编译
.Net Core Razor 预编译,动态编译,混合编译
.NET Core生成后没有Nuget的dll文件
VS2019找不资产文件 "xxxx\obj\project.assets.json" 解决方案
Xamarin.Forms 复制本地SQLite数据库
.NET Core,.NET5 固定输出目录,不要版本目录
批处理nuget上传脚本
python四种配置文件
.net-winform多平台编译设置 csproj配置
C# 使用Roslyn编译项目 .csproj
【gitblit复制URL】 修改URL复制方式Flash插件被浏览器禁用解决办法

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码