【问题标题】:How to add local files in Visual Studio to an Azure LocalResource "folder"?如何将 Visual Studio 中的本地文件添加到 Azure LocalResource“文件夹”?
【发布时间】:2015-07-11 17:11:54
【问题描述】:

我想知道如何使用 Visual Studio 将文件 放入 Azure Web 实例上的“LocalResource”存储?我有一个 Azure Web 项目处理 Web 服务的部署细节。 (参见下面的相关 ServiceDefintion.csdef 文件片段)

Web 服务的 Azure 项目已经将几个额外的文件复制到名为 InstallLogs 的 LocalResource 文件夹中,以确保 4.52 .NET 运行时安装在 azure 机器上。但是,不知何故,为支持这些归档资源而添加的“bin”文件夹以我不理解的方式与该命名路径相关。 (我使用 Azure 文档示例来使该部分正常工作。)

我不知道如何将文件资源添加到我添加的名为 OpenNLPbins 的第二个 LocalResource 文件夹中。 LocalResource 正在创建中,我可以通过远程调试获得运行时的有效路径,但无论我环顾多长时间,我都无法弄清楚我应该如何在 Visual Studio 中指定 当我发布时,将一堆本地二进制文件(“EnglishSD.nbin”)作为示例部署到 OpenNLPbins“文件夹”中?

任何想法或帮助表示赞赏?

谢谢, 戴夫·格丁

...来自 azure 服务 csdef...

<LocalResources>
<LocalStorage name="InstallLogs" sizeInMB="5" cleanOnRoleRecycle="false" />
<LocalStorage name="OpenNLPbins" sizeInMB="150" cleanOnRoleRecycle="false" />      
</LocalResources>
<Startup>
<Task commandLine="install.cmd" executionContext="elevated" taskType="simple">
<Environment>
<Variable name="PathToInstallLogs">
<RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='InstallLogs']/@path" />
</Variable>
</Environment>
</Task>
</Startup>

【问题讨论】:

    标签: asp.net azure


    【解决方案1】:

    您不能在 Visual Studio 中使用本地资源文件夹。因为这些是位于实例上的文件夹,所以在您的应用程序部署之后。

    您只能通过使用RoleEnvironment 的静态方法GetLocalResource 从您的代码访问这些文件夹。

    您最多只能将文件部署在Azure Blob Storage 中。然后使用RoleEntryPointOnStart 方法将您的文件下载到本地资源文件夹中。或者使用startup task 这样做。

    best practices for Stratup tasks 上有很好的教程,其中包括在启动任务中对how to use local resource 的参考。

    作为最后的手段,我从不建议这样做,您可以将这些文件包含在您的项目中,将它们标记为“内容”和“始终复制到输出文件夹”,您可以使用 RoleEntryPoint 类来复制这些文件在您的实例启动之前 (OnStart)。

    如果可能,我总是希望将文件放在 Blob 存储中并从那里下载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 2017-12-05
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多