我在OSX上运行dotnet core时遇到了相同的问题。 问题是我使用Windows路径生成了一个文件夹。 当在磁盘上创建时,由于其命名为\Uploads
,在Finder中不可见。 运行 ls -la
命令并查看其中是否有任何奇怪的文件夹或文件。查看图像
C:\ProgramData\SomeFolder
。 - Johan Henkens我试图解决这个问题花费了两个月,最终找到问题所在。我在项目文件中使用了反斜杠'\',这是Windows风格的路径,但我使用的是Mac,它会创建一个简单名称为“wwwroot\test”的目录(不是嵌套的)。如果我移除那个文件夹,它就能够成功构建。
要找到需要删除的有问题的文件,您需要搜索反斜杠,例如:
find ~/my-project-folder -name '*\\*'
我也遇到了同样的问题。简单的清理并没有解决我的问题。最终,我删除了bin和obj文件夹。之后,执行一次包还原操作,一切都恢复正常了。很可能是一个包缓存问题。
我不确定你是否遇到了和我一样的问题。我有一个在Windows上运行的.NET Core项目,但是当我尝试在macOS上运行该项目时,我收到了以下错误消息:
错误 MSB3552:找不到资源文件 "**/*.resx"。
在我的项目中,我有一个配置来将日志文件存储在文件夹中。
"WriteTo": [
{
"Name": "RollingFileAlternate",
"Args": {
"logDirectory": ".\\Logs",
"fileSizeLimitBytes": 10485760
}
}
]
当我第一次运行这个项目时,它会创建一个名为Logs
的文件夹,在macOS上运行时,它将创建一个名为.\Logs
的隐藏文件夹。这是一个问题,因为在此之后构建项目时会出现错误。
解决方案是更改配置为:
"WriteTo": [
{
"Name": "RollingFileAlternate",
"Args": {
"logDirectory": "Logs",
"fileSizeLimitBytes": 10485760
}
}
]
现在,该项目可以在macOS上运行。
由于Windows在目录路径中使用反斜杠,而macOS使用正斜杠,因此当您需要在Windows上为macOS构建项目时,应检查与文件、文件夹和路径相关的所有代码(例如,创建保存日志文件的文件夹的代码,创建保存上传文件的文件夹的代码等)。
今晚我遇到了同样的问题,但最终解决了。我只是进行了一次清理和构建操作,然后问题就得到了解决。
不过,我将项目复制到了一个存储设备上,而没有使用类似 Github 的工具来传输项目。我猜测 bin/obj 文件夹中可能留有来自 Windows 上 VS 的残留文件。
遇到了同样的错误;在阅读这些答案后,我想这一定是由于路径使用反斜杠导致的。
我试着删除.csproj文件中引用带有\
的文件的行,但没有成功。
花费了我一些时间才发现,某个东西创建了一个wwwroot\ImageCache
目录。我删除了这个目录,构建成功了。
这可能是另一种发生的可能性。在 Windows (10) 和 VS 2017 上有经验,当移动和重命名一个检出(svn)时。可能是因为存在一些损坏的符号链接。
方法:复制检出而不是移动它,不要跟随任何符号链接。