【问题标题】:Sitemap file not getting deployed to Azure website站点地图文件未​​部署到 Azure 网站
【发布时间】:2017-04-01 12:30:39
【问题描述】:

我正在 Azure 上运行 ASP.NET Core(以前称为 ASP.NET 5)网站。

几个月前我更新了我的站点地图文件,在检查 Google 网站管理员工具时,我注意到我的站点地图中有一些错误。我检查了 GWT 显示的内容,发现它来自我以前的版本。

我检查了我的 BitBucket 存储库,发现那里存在正确的更新版本。

为什么 Azure 不部署我的更新版本?

编辑:回应下面的评论者...

这是 project.json 文件:

{
  "userSecretsId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Dapper": "1.42.0",
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
    "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
    "HtmlAgilityPack": "1.4.9.5"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": {
      "dependencies": {
        "Microsoft.VisualStudio.QualityTools.UnitTestFramework": "1.0.0-*"
      }
    }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ],
  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  }
}

【问题讨论】:

  • 您的站点地图文件是否包含在您的publishOptions 中的project.json 文件中?
  • 不知道,我去看看...
  • @JérômeMével 我用整个 project.json 文件更新了我的问题。看起来我根本没有那个部分。但它确实有 publishExclude 部分,并且这些路径都不匹配站点地图文件,并且它仍然没有部署。

标签: azure asp.net-core asp.net-core-mvc sitemap


【解决方案1】:

所以你的project.json 中没有任何publishOptions 部分很奇怪。你应该包括它。例如我的看起来像这样,我将您的 sitemap.xml 添加到列表中(我不知道您的文件在哪里,所以我假设它在根级别)

"publishOptions": {
    "include": [
      "wwwroot",
      "web.config",
      "appsettings.Development.json",
      "appsettings.Production.json",
      "Views",
      "sitemap.xml"
    ]
}

顺便说一句,你的project.json 看起来很老了,你还在用RC1。从那以后发生了很多变化,在 RC2 出现之后,RTM 1.0 和几天前的 1.1.0 版本出现了。 我真的建议你升级你的项目,RC1 是一个非常早期的版本,你不应该继续使用它。升级它需要一些时间,但这是值得的

【讨论】:

  • 谢谢,我现在尝试添加 publisngOptions 部分。我在我的待办事项列表上进行了升级,但在那之前我一直在努力将大部分错误从我的网站中移除。顺便说一句,您有一个很好的链接,详细说明了从 RC1 到 Core 1.1 的升级路径?
  • RC1 也有很多错误和限制,所以我建议这个任务应该放在你的待办事项列表的最顶端。 .NET Core 1.1 目前仍是预览版,所以我认为您最好先升级到 1.0。在我看来,最大的变化差距在 RC1 和 RC2 之间。我还没有从 RC1 直接升级到 1.0,我按照它们发布的版本进行了更新。所以我个人做了RC1 -> RC2 -> 1.0。你可以试试this link 我认为最好的办法是创建一个全新的 1.0 项目,然后移植你所有的控制器和类
  • 所以我刚刚升级到 ASP.NET Core,我添加了它,但它仍然没有工作。奇怪的是,部署脚本日志显示它复制了文件: KuduSync.NET 从:'D:\local\Temp\8d4xxxxxxxxxx0a' 到:'D:\home\site\wwwroot' 复制文件:'robots.txt'复制文件:'sitemap.xml'
  • 确保文件确实在它们应该在的位置,不要仅仅依赖于您的部署脚本输出。除了直接将其部署到 Azure 之外,您还可以尝试使用 dotnet publish 在本地文件夹中部署,然后使用 dotnet YourApplication.dll 运行您的应用程序此位置的静态文件的一些访问权限。
【解决方案2】:

对于 ASP.NET Core 2.0,将 robots.txt 文件添加到 wwwroot 文件夹

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    相关资源
    最近更新 更多