[.NET MAUI] 部署专案时却遇到了error:One or more invalid file names we

如题,在开发.NET MAUI专案时我最害怕遇到建置失败,但我也算是练就了一身用MAC开发VS专案能够应对的千奇百怪方式,在今天遇到了卡我一上午的错误:

Error: One or more invalid file names were detected. File names must be lowercase, start and end with a letter character, and contain only alphanumeric characters or underscores: ....

指出了这个专案辨识到了不符合要求的档案名称。

发生这个错误前,我为了要在专案中加入icon,就利用Finder去把我下载到电脑中的icon移到MAUI中的Resources/Images资料夹中,而刚好的所有icon名称刚好都是大写的XD也怪我自己懒得去改名称,所以我一一把所有icon名称改成小写再去执行一遍,结果!!这个错误依然存在,但我也不以为意,觉得重开整个VS或是清除专案重建就好了吧?结果到最后我把重开机、删除bin、obj资料夹都尝试了一遍,这个错误就像蟑螂一样打不死...

最后我决定备份icon后删除整个Image资料夹,并利用Finder重建资料夹,好的^^没有用^^!!这个错误还是不断跑出来~~

在最后的最后,我终于想到可以用终端机去看我的资料夹到底哪里还存在不符合的档案名称,由于一切的错误都是从Images资料夹开始的,所以我直接去检查它:

打开terminal并导航至Resources/Images下命令"ls -la"抓到了一个隐藏资料夹**.DS_store**
http://img2.58codes.com/2024/2016214979hPgQdpq2.png

我查询了一下.DS_store是什么(参考此文章):

Mac在使用Finder操作目录中的文件时会自动创建的隐藏档案里面主要储存了一些资讯,例如:资料夹的图标、视窗的设置等等

所以最后我决定不使用Finder进行资料夹重建,用VS IDE进行重建即可,当然也就没有自动生成.DS_store的问题了,最后专案也能够顺利建置。

但以上是一个治标不治本的方式,最好的方式是在MAUI中设定排除.DS_store档案(参考此文章):

找到专案的csproj文件并找到定义MauiImage资源项目的地方
<MauiImage Include="Resources\Images\* />
设定专案指辨识以下指定的图档类型
<MauiImage Include="Resources\Images\*svg /><MauiImage Include="Resources\Images\*png /><MauiImage Include="Resources\Images\*jpg />

当然也有更极端的方式处理.DS_store档案,在此文章有一段教学如何阻止 .DS_Store的生成,但我个人是不建议这样做,所以就当给大家参考看看啰

以上,祝大家开发MAUI专案的过程都顺利,有问题欢迎指正!


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章