在.NET 9.0 MAUI Blazor Hybrid&Web中的多个平台的参考文件?

问题描述 投票:0回答:1
在Visual Studio 2022中,新版本.NET 9.0项目模板“ .NET MAUI BLAZOR HYBRID和WEB应用程序”将在新解决方案中创建以下项目:

    ProjectName
  • ProjectName.shared
  • ProjectName.Web
您将资源放在哪里? 目前,我在以下路径下将它们放在projectname中:

Resources/Raw

这对Windows,Android和iPhone都很好。 但是如何访问这些网络? 我希望它们存在于同一位置。 在我的特殊用例中,这些是我在所有4个平台上使用的文件。 其中一些是大型语言模型,我宁愿不让复制品保持复制。

enter image description here

最简单的方法是将
blazor maui visual-studio-2022 maui-blazor
1个回答
0
投票
文件复制到

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
    文件夹中。例如
  • ProjectName.shared/wwwroot/images/test.jpg
  • 。然后,您可以通过以下方式使用它:

<img src="_content/MauiApp10.Shared/images/test.jpg" /> 对于您要通过IO操作访问的文件。

像TXT文件一样。您可以将它们放在
ProjectName.shared/wwwroot/files
文件夹中。例如
    ProjectName.shared/wwwroot/files/test.txt
  • .
您可以在

ProjectName项目中访问txt文件: var value = await FileSystem.OpenAppPackageFileAsync("wwwroot/_content/ProjectName.Shared/files/test.txt"); using StreamReader sr = new StreamReader(value); var text = sr.ReadToEnd();

  1. 您可以在ProjectName.web项目中访问TXT文件:
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");
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.