【问题标题】:How to handle path on azure for XmlDocumentationProvider如何在 azure 上为 XmlDocumentationProvider 处理路径
【发布时间】:2015-11-03 03:15:35
【问题描述】:

我正在使用 azure 部署我的新 Web API,我是在 IIS 和 azure 上部署的新手。

我已在 azure 上将我的 Web API 添加为 Web 应用程序,它运行良好,直到我为每个 API 的功能添加了文档。添加描述后,我从 HelpPageConfig.cs 取消注释下面的行。

config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));

它在本地运行,我可以看到所有描述,但是当我在 azure 上发布它时,我收到错误提示,

Could not find a part of the path 'D:\home\site\wwwroot\App_Data\XmlDocument.xml'.

网站网址:http://mejodo.azurewebsites.net/

我需要改变路径吗?

文件已在我的系统中的 D:\home\site\wwwroot\App_Data 目录中创建。

我需要做哪些更改才能使其正常工作?

【问题讨论】:

    标签: asp.net asp.net-mvc-4 asp.net-web-api azure-web-app-service asp.net-web-api-helppages


    【解决方案1】:

    我遇到了同样的问题。对我来说,文件是生成的。请按照以下步骤操作。

    1. 单击在解决方案资源管理器中显示所有文件。
    2. 检查App_Data文件夹中是否有文件
    3. 如果您有该文件,请右键单击并将其包含在您的项目中。
    4. 现在构建并发布到 Azure。

    我希望这会奏效。谢谢

    【讨论】:

      【解决方案2】:

      在我的例子中,XmlDocument.xml 必须在 Visual Studio 中使用“添加现有项目”添加到解决方案中的 App_Data 文件夹中。

      【讨论】:

        【解决方案3】:

        只需使用 XmlDocument.xml 将新文件夹“App_Data”添加到您的项目并发布

        【讨论】:

          【解决方案4】:

          当您说您在 azure 上有 Web API 作为 Web 应用程序时,您的意思是它们是站点下的应用程序吗?如果是,那么我认为您在 XML 文件的路径中缺少应用程序名称。

          尝试去 mejodo.scm.azurewebsites.net > 调试控制台 > powershell 查看确切的文件夹结构......

          【讨论】:

            【解决方案5】:

            当您发布 xml 文件时进入 bin 文件夹,因此更改 'D:\home\site\wwwroot\App_Data\XmlDocument.xml'。

            'D:\home\site\wwwroot\bin\XmlDocument.xml'。

            它应该可以工作。

            【讨论】:

            • 这不太可能解决任何人的问题。您假设 XML 文档已发布到 bin 文件夹,但在我的情况下并非如此。为此,项目应设置为在 bin 文件夹中查找该文件,但 OP 明确设置项目将该文件放置在 App_Data 文件夹中..
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-04-23
            • 1970-01-01
            • 2021-09-18
            • 1970-01-01
            • 2014-02-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多