前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >dotnet core 打包构建提示 MSB3024 可能的原因

dotnet core 打包构建提示 MSB3024 可能的原因

作者头像
林德熙
发布2020-03-27 11:11:58
6550
发布2020-03-27 11:11:58
举报
文章被收录于专栏:林德熙的博客林德熙的博客

如果是在 Linux 下发布,可能是因为发布的可执行文件和文件夹重名

在使用 dotnet publish -c release 在 Linux 服务器发布或使用 -r linux-x64 发布看到下面代码

代码语言:javascript
复制
_CopyOutOfDateSourceItemsToOutputDirectory:

正在部分生成目标“_CopyOutOfDateSourceItemsToOutputDirectory”,因为某些输出文件相对于其输入文件而言已经过期。

2>C:\Program Files\dotnet\sdk\3.1.102\Microsoft.Common.CurrentVersion.targets(4570,5): error MSB3024: 未能将文件“f:\lindexi\foo\obj\Release\netcoreapp3.1\linux-x64\Foo”复制到目标文件“bin\Release\netcoreapp3.1\linux-x64\Foo”,因为该目标是文件夹而不是文件 。若要将源文件复制到文件夹中,请考虑使用 DestinationFolder 参数,而不使用 DestinationFiles

可能的原因是存在文件夹和可执行文件相同。为什么在 Windows 下没有问题,原因是在 Windows 下的可执行文件是带后缀名的,而在 Linux 下是不带后缀名的。如果此时有文件夹和可执行文件重名,如下面的代码

代码语言:javascript
复制
│  KalllaijawwaiKemjaniqemchelye.csproj
│  Program.cs
│
└─KalllaijawwaiKemjaniqemchelye
        1.png

可以看到 KalllaijawwaiKemjaniqemchelye 文件夹将会和创建的可执行文件 KalllaijawwaiKemjaniqemchelye 重名,此时将会提示 error MSB3024 代码

解决方法是要么更改文件夹名要么更改可执行文件名

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档