资产目录无法在visual studio中打开

时间:2016-11-16 23:37:06

标签: visual-studio xamarin.ios

我有一个xamarin项目,它在visual studio中没有任何问题。我不知道为什么,但现在我无法打开资产目录,在visual studio中为iOS添加新图像。 有人可以帮我吗?

6 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,我的解决方案是:

  • 从项目中排除public class cityIsNotValidException extends StudentException { private String city; public cityIsNotValidException(String city){ super("Name of the city is not valid "+city); this.city=city; } public String getCity(){ return city; } } 文件夹。
  • 取消选中Assets.xcassets
  • 的只读标记
  • 重新启动visual studio

答案 1 :(得分:3)

我在Visual Studio中遇到了资产目录问题,对我来说,有两件事导致资产目录无法打开:

.csproj文件中的1个条目缺失/错误:

在Contents.json中指定了一个文件(即image@2x.png),但是.csproj文件中没有任何条目,这还包括csproj文件中有条目但错误的情况路径:

解决方案

将以下行(或编辑适当的行)添加到csproj文件中:

<ImageAsset Include="Resources\Assets.xcassets\image.png.imageset\image@2x.png">
  <Visible>false</Visible>
</ImageAsset>

2个斜杠/反斜杠(严重吗?!?)

在iOS项目的csproj文件中,图片的ImageAsset标签带有错误的斜杠(这可能就是为什么它有时在MacOS / Linux上与Xamarin Studio兼容的原因)

当它不起作用时,它将如下所示:

<ImageAsset Include="Resources/Assets.xcassets/image.png.imageset/image@2x.png">
  <Visible>false</Visible>
</ImageAsset>

解决方案

反斜杠

<ImageAsset Include="Resources\Assets.xcassets\image.png.imageset\image@2x.png">
  <Visible>false</Visible>
</ImageAsset>

答案 2 :(得分:2)

我通过删除.csproj文件中的重复项解决了这个问题。

通过阅读Peter的答案,它帮助我解决了我已经困扰了一段时间的问题。

我不得不创建其他资产文件来保存新图像,因为我再也无法在Visual Studio中重用/打开资产文件了。

例如,我将其作为副本:

A Sample Document
Some strong and emphasized text

一切都在按现在的方式进行。

答案 3 :(得分:1)

我遇到了这个问题。 我在 Windows 中使用 Xamarin Forms。 我的修复:

  1. 点击解决方案资源管理器顶部菜单栏中的“显示所有文件”
  2. 我的“Assets.xcassets”文件变灰
  3. 右键单击该文件并选择“包含在项目中”
  4. 做了一次清理,然后重新构建,一切都很好

答案 4 :(得分:0)

在我的情况下,尽管该应用程序仍在编译且运行良好,但ios.csproj文件还是有些损坏。幸运的是,我的其他iOS应用程序的编辑器正常打开。通过比较,我看到了csproj中列出的json文件和png文件的一些冗余条目,它们是同一ItemGroup中AppDelegate.cs的同级项。删除csproj中的这些冗余条目并重新启动VS 2017已解决了该问题,并且Assets.xcassets编辑器再次正常打开。

答案 5 :(得分:-1)

Visual Studio支持资产目录,但如果您需要可靠的支持,请在Xamarin Studio中管理资产目录,不要使用Visual Studio进行编辑。

Visual Studio存在很多问题(Xamarin Forum)如果您想在Visual Studio for Mac(以前的Xamarin Studio)中使用稳定的解决方案开放解决方案,请编辑资产目录,在Visual Studio中保存并打开解决方案以便工作再次。

现在为我工作超过一年,但我希望有更好的解决方案。