资源文件" ** / * .resx"无法找到。 (MSB3552)在VS for Mac上

时间:2017-08-10 07:22:32

标签: visual-studio xamarin mono .net-core visual-studio-mac

我们无法在vs for Mac版本上构建解决方案,但同样的解决方案可以构建在vs for windows上(与2017年相比)并且它可以正常运行。

如何解决这个问题?并且可以支持两者(vs Windows上和Mac上的vs)

谢谢你。 enter image description here enter image description here

/Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets

12 个答案:

答案 0 :(得分:2)

我试图像两个月那样解决这个问题,最后发现了什么是错的。我有反向斜线' \'在项目文件中,这是Windows风格的路径,但我正在使用Mac,所以它创建了一个名为&www; wwwroot \ test' (不嵌套)。如果我删除它成功构建的文件夹。

答案 1 :(得分:1)

这里的问题相同。简单的清洁对我来说不起作用。我最终删除了bin和obj文件夹。之后,恢复包,一切都很好。可能是包缓存问题。

答案 2 :(得分:1)

我今天在VS for Mac上测试过(上次更新),只是在我的解决方案中删除一些源代码并重新构建所有项目,令人难以置信的是它的工作和我的问题已得到修复。

enter image description here

答案 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中,您可以创建一个包含斜杠或反斜杠的文件夹。

enter image description here

macOS示例上的问题代码:

<script>
    jQuery(function($) {
    $("ul#ticker01").liScroll();
});
</script>

答案 10 :(得分:0)

还有另一种可能性。在 Windows (10) 和 VS 2017 上有经验移动和重命名结帐时 (svn)。也许是因为有一些损坏的符号链接。

有什么帮助:复制结帐而不是移动它,不要遵循任何符号链接。

答案 11 :(得分:0)

在 Mac 上的项目子树中有一个奇怪的文件夹。就我而言,它是 c\/output/。

删除该文件夹,构建将成功。

然后修复开发人员使用 Windows 特定路径分隔符 ('\') 而不是 Path.DirectorySeparatorChar 的代码部分。