【问题标题】:Unable to find files located in my root project folder when hosted on Azure在 Azure 上托管时找不到位于我的根项目文件夹中的文件
【发布时间】:2020-06-09 09:21:13
【问题描述】:

我试图在我的 Blazor Client WebAssembly 项目的根项目中查找文件。虽然它在我的计算机上本地执行时有效,但在 Azure 上托管时无效。

在本地执行时,我得到了 1

在 Azure 上执行时,我得到 0(没有访问被拒绝的错误)

为了更完整,我将需要一些文件来填充初始空白数据库。

如果我无法访问项目文件夹中的文件,那么我会选择 Blob Azure 存储。我想澄清一下,这只是我自己的一个测试项目。

【问题讨论】:

  • 您正在应用程序的当前工作目录中查找文件,假设该目录与您的应用程序所在的目录相同。这可能是真的(VS 默认设置了这个),但它可能不是。您可以使用 Path.GetDirectoryName(typeof(QuizController).Assembly.Location) 之类的方式获取包含您的应用程序的目录
  • 我认为您可以使用 VS 中的 Cloud Explorer 浏览云中的文件。在最坏的情况下,您应该能够从 Cloud Explorer(或 Azure 门户)打开 Kudu 并检查那里的文件/文件夹层次结构。当然,最终您应该使用上面建议的@canton7 之类的通用方法,但这是更好地了解您所拥有的东西的好方法。这个link 可能会有所帮助。
  • 感谢您的建议,我能够找到我的问题:我的某些文件未标记为“复制到输出目录”。非常感谢。
  • 如果我的解决方案对这个问题有用,希望你能采纳,帮助更多的用户。Tks!

标签: c# azure blazor blazor-client-side


【解决方案1】:

此问题的原因是TextFile.txt 文件在发布时未包含在内。

Akos 说的没错。我正在修改.csproj 文件以发送我的答案。可以更好地帮助论坛的其他用户。

您可以将代码粘贴到您的 .csproj 文件中。

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <ResolvedFileToPublish Include="TextFile.txt">
      <RelativePath>TextFile.txt</RelativePath>
    </ResolvedFileToPublish>
  </ItemGroup>
</Project>

然后您就可以部署您的应用了。你可以在D:\home\site\wwwroot&gt;下找到TextFile.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 2015-09-08
    • 2013-06-20
    相关资源
    最近更新 更多