我们无法在vs for Mac版本上构建解决方案,但同样的解决方案可以构建在vs for windows上(与2017年相比)并且它可以正常运行。
如何解决这个问题?并且可以支持两者(vs Windows上和Mac上的vs)
/Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets
答案 0 :(得分:2)
我试图像两个月那样解决这个问题,最后发现了什么是错的。我有反向斜线' \'在项目文件中,这是Windows风格的路径,但我正在使用Mac,所以它创建了一个名为&www; wwwroot \ test' (不嵌套)。如果我删除它成功构建的文件夹。
答案 1 :(得分:1)
这里的问题相同。简单的清洁对我来说不起作用。我最终删除了bin和obj文件夹。之后,恢复包,一切都很好。可能是包缓存问题。
答案 2 :(得分:1)
答案 3 :(得分:0)
今晚我经历了同样的事情,我开始工作了。我最后只是做了一个干净的构建,它工作得很好。
然而,我确实在拇指驱动器上复制了项目,我没有使用像Github这样的东西来转移项目。我猜测它在bin / obj目录中的Windows上有一些来自VS的残余。答案 4 :(得分:0)
我不确定你和我有同样的问题。 我有一个.net核心项目在Windows上运行,但当我尝试在macOs上运行项目时,我收到错误消息"错误MSB3552:资源文件" ** / * .resx"无法找到"。
在我的项目中,我有一个配置来将日志文件存储在文件夹
中"WriteTo": [
{
"Name": "RollingFileAlternate",
"Args": {
"logDirectory": ".\\Logs",
"fileSizeLimitBytes": 10485760
}
}
]
我第一次运行项目时,会创建一个名为" Logs"但是当我在macOs上运行时,它会创建一个名为"。\ Logs"的文件夹。它是一个隐藏的文件夹。所以这是一个问题,之后项目在构建时会出现错误。
解决方案正在将配置更改为:
"WriteTo": [
{
"Name": "RollingFileAlternate",
"Args": {
"logDirectory": "Logs",
"fileSizeLimitBytes": 10485760
}
}
]
现在项目可以在macOs上运行。
因为Windows在目录路径中使用反斜杠,但是macO使用斜杠,所以当你需要在macOs上构建在Windows中编码的项目时,你应该检查所有与文件,文件夹,路径相关的代码(ex :创建保存日志文件的文件夹的代码,创建保存上传文件的文件夹。等等。
希望它有所帮助。
答案 5 :(得分:0)
验证在您的项目文件结构中没有生成任何新文件,并且在我的情况下,您没有创建任何新的.csproj,.vbproj或.fsproj文件(可以嵌套在更深的地方)。较深的文件路径也可能导致此非详细问题。确保不要将东西嵌套得太深。
答案 6 :(得分:0)
有相同的错误;在阅读完这些答案后,认为它必须归因于使用反斜杠的路径。
我搞砸了删除.csproj文件中使用\
引用文件的行,但无济于事。
花了一段时间找到它,但我注意到某物已经创建了一个wwwroot\ImageCache
目录。我删除了这个目录,构建成功了。
答案 7 :(得分:0)
我在osx上运行dotnet core,并且遇到了同样的问题。
问题是我使用Windows路径生成了一个文件夹。
在磁盘上创建时,由于其命名为\Uploads
,因此在Finder中不可见。进行ls -la
,查看其中是否有任何奇怪的文件夹或文件。
See Image
答案 8 :(得分:0)
我们删除了obj和bin,但是不起作用 我们删除了所有用“ \”创建的文件,但该项目无法正常工作。 最终,我们从git中提取了项目并再次构建,它可以正常工作 (注意:从git克隆项目时,我们不会进行新的提交)
我认为可能发生缓存或类似情况
答案 9 :(得分:0)
在macOS中,您可以创建一个包含斜杠或反斜杠的文件夹。
macOS示例上的问题代码:
<script>
jQuery(function($) {
$("ul#ticker01").liScroll();
});
</script>
答案 10 :(得分:0)
还有另一种可能性。在 Windows (10) 和 VS 2017 上有经验移动和重命名结帐时 (svn)。也许是因为有一些损坏的符号链接。
有什么帮助:复制结帐而不是移动它,不要遵循任何符号链接。
答案 11 :(得分:0)
在 Mac 上的项目子树中有一个奇怪的文件夹。就我而言,它是 c\/output/。
删除该文件夹,构建将成功。
然后修复开发人员使用 Windows 特定路径分隔符 ('\') 而不是 Path.DirectorySeparatorChar 的代码部分。