我有一个xamarin项目,它在visual studio中没有任何问题。我不知道为什么,但现在我无法打开资产目录,在visual studio中为iOS添加新图像。有人可以帮帮我吗?
Visual Studio支持资产目录,但如果您需要可靠的支持,请在Xamarin Studio中管理资产目录,不要使用Visual Studio进行编辑。
Visual Studio(Xamarin Forum)存在很多问题如果您想在Visual Studio for Mac(以前的Xamarin Studio)中使用稳定的解决方案开放解决方案,请编辑资产目录,在Visual Studio中保存并打开解决方案以再次工作。
现在为我工作超过一年稳定,但我希望有一个更好的解决方案。
我有同样的问题,我的解决方案是:
Assets.xcassets
文件夹。Assets.xcassets
的只读标记。我在Visual Studio中遇到过资产目录问题,对我来说问题是导致资产目录无法打开的两件事:
在Contents.json中指定了一个文件(即[email protected])但是.csproj文件中没有条目,这也包括csproj文件中有条目但是路径错误的情况:
将以下(或编辑相应的)行添加到csproj文件:
<ImageAsset Include="Resources\Assets.xcassets\image.png.imageset\[email protected]">
<Visible>false</Visible>
</ImageAsset>
在iOS项目的csproj文件中,图像的ImageAsset
标签带有错误的斜杠(这可能是它有时适用于MacOS / Linux上的Xamarin Studio的原因)
当它不起作用时,它将如下所示:
<ImageAsset Include="Resources/Assets.xcassets/image.png.imageset/[email protected]">
<Visible>false</Visible>
</ImageAsset>
反转斜杠
<ImageAsset Include="Resources\Assets.xcassets\image.png.imageset\[email protected]">
<Visible>false</Visible>
</ImageAsset>
我通过删除.csproj文件中的重复项解决了这个问题。
通过阅读Peter的答案,它帮助我解决了这个问题,我一直在努力解决这个问题。
我不得不创建其他资源文件来保存新图像,因为我无法再重复/打开Visual Studio中的资源文件。
例如,我把它作为副本:
<ImageAsset Include="Resources\Media.xcassets\LaunchImages.launchimage\Contents.json">
<Visible>false</Visible>
</ImageAsset>
现在一切都正常。
在我的情况下,虽然应用程序仍然编译并运行良好,但ios.csproj文件有点损坏。幸运的是我有其他iOS应用程序正常打开编辑器。通过比较,我看到了csproj中列出的json文件和png文件的一些冗余条目,作为同一ItemGroup中AppDelegate.cs的兄弟。删除csproj中的这些冗余条目并重新启动VS 2017解决了问题,并且Assets.xcassets编辑器再次正常打开。