繁体   English   中英

如何在Xamarin.Android上绕过Visual Studio的F#项目文件夹限制?

[英]How to bypass Visual Studio's F# project folder limitations on Xamarin.Android?

我已经创建了一个新的Xamarin.Android应用程序并添加了一些资产。 这些资产有多种分辨率,因此我将它们放在Resources文件夹中各自的drawable-XXX文件夹中。 这样做会导致以下错误:

无法打开项目“XXXX.fsproj”,因为打开它会导致在解决方案资源管理器中多次呈现文件夹。 一个这样有问题的项目是'Resource \\ drawable-hdpi \\ pencil.png'

这是由F#糟糕的文件夹结构处理造成的。 我通常不需要在F#项目中使用文件夹,但在这种特定情况下,由于Android处理资源的方式,这是必要的。 该项目在Xamarin Studio中正常加载,但在Visual Studio中却没有。

这个项目非常大,我(以及其他人)也需要添加大量文件,因此这样的手动方法没有用,因为它们太耗时了。

我阅读了官方文档,但没有任何说明有一种特殊的方法来处理在VS上添加文件或处理这种限制的其他方法。 我的问题是:这样的事情存在吗? 我可以用其他方式添加这些文件,这样我就不需要VS上的复杂结构了吗? 我是否会被迫使用C#或Xamarin Studio?

对文件夹文件的引用必须一起列出,它们不能穿插在不同位置的文件。 对裁判进行排序,一切都会好的。

编辑,为清楚起见:

<ItemGroup>
<Compile Include="folder\file1.fs" />
<Compile Include="file.fs" /> <-- this can't be between the folder files, all folder files have to be listed together
<Compile Include="folder\file2.fs" />
</ItemGroup>

遗憾的是,标准的Visual Studio集成不支持F#项目中的文件夹。

您最好的选择是使用Visual F#PowerTools 这为文件夹添加了对F#项目的一些支持,因此它可以很好地完成你需要的工作。 如果没有,那么Visual F#PowerTools是一个开源项目,它总是欢迎贡献!

我不太了解Xamarin Android项目类型 - 但我想添加C#项目只是一个空的DLL来存储资源也是一个合理的选择。 (那么你应该能够从F#引用它并从那里加载所有资源。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM