Resources/Raw
这对Windows,Android和iPhone都很好。 但是如何访问这些网络? 我希望它们存在于同一位置。 在我的特殊用例中,这些是我在所有4个平台上使用的文件。 其中一些是大型语言模型,我宁愿不让复制品保持复制。
最简单的方法是将ProjectName.web中。然后,您可以在ProjectName.web中的以下代码访问该文件::
var a = File.ReadAllText(Directory.GetCurrentDirectory()+ "/test.txt");
// the test.txt is under the `ProjectName.Web` project
ProjectName项目和
ProjectName.Web项目都将包含ProjectName.sharedprject,但它们将彼此包含。因此,您不必担心重复项。 如果您仍然只想在那里只有一个参考文件的副本。您可以将它们放入ProjectName.shared/wwwroot文件夹中。
对于您在Razor Page中使用的文件。 剃须刀页面中显示的图像。您可以将它们放入
ProjectName.shared/wwwroot/images<img src="_content/MauiApp10.Shared/images/test.jpg" />
对于您要通过IO操作访问的文件。
ProjectName.shared/wwwroot/files文件夹中。例如
ProjectName项目中访问txt文件:
var value = await FileSystem.OpenAppPackageFileAsync("wwwroot/_content/ProjectName.Shared/files/test.txt");
using StreamReader sr = new StreamReader(value);
var text = sr.ReadToEnd();
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:5079");
// the baseaddress is in the ProjectName.Web/launchingSettings.json
var response = await client.GetStringAsync(@"/_content/ProjectName.Shared/files/test.txt");