我可以在 GitHub 上托管我的 Office 加载项吗?

Can I host my Office Add-Ins on GitHub?

为了 运行 Office 加载项,需要将其托管在 Internet 中的某个位置,然后在清单文件中引用 Office 加载加载项的 HTTP 端点.

<?xml version="1.0" encoding="utf-8"?>
<!--Created:cbbc9d22-5cf7-4e4c-8ee9-42a772aae58a-->
<OfficeApp xsi:type="ContentApp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/office/appforoffice/1.0">
  <Id>eadaa0dd-558b-499a-9935-fb7f32fa8dac</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>Me Myself</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="MyAddIn" />
  <Description DefaultValue="My Add-In" />
  <Capabilities>
    <Capability Name="Workbook" />
  </Capabilities>
  <DefaultSettings>
    <!-- HERE the address for publishing -->
    <SourceLocation DefaultValue="https://github.com/mygituser/MyProjRepo" />
    <RequestedWidth>400</RequestedWidth>
    <RequestedHeight>400</RequestedHeight>
  </DefaultSettings>
  <Permissions>ReadWriteDocument</Permissions>
</OfficeApp>

我可以使用 Git repository/branch 来托管加载项吗?针对这种方法有任何副作用或推荐做法吗?

您正在使用您的项目存储库作为 Web 服务器来提供 Web 应用程序的内容。即使它可能有效,我也不会推荐它用于纯静态网站,因为它不是为此而制作的。 Github 建议一个网站托管,它或多或少看起来是您想要实现的目标:从您的存储库进行简单无缝的部署。它被称为github pages

但我不建议在 github 页面上托管您的应用程序。这是我的论点

  • 您使用的 github 域不是您的。如果你想将你的应用程序移动到其他地方,你就会被卡住,因为你的清单列在 Office 商店或你的客户端 Office 上。充其量你最终会得到一个重定向。

  • 您将无法使用自定义域名,因为 github 页面不支持 https(自定义域名)。

  • 对于 github 个页面,您在调整某些服务器参数(ETag、缓存控制)时受到很大限制

我曾经在 github 页面上托管我公司 jekyll 生成的 "static" 和 public 网站,我非常失望,请参阅 my blog post

最后但并非最不重要的一点是,即使大多数 Microsoft 网络插件示例显示的网络应用程序没有服务器逻辑,但现实生活中的网络插件很少出现这种情况。我建议您甚至为单页应用程序放置一些逻辑服务器端。

从您的个人资料来看,您似乎是一个 ASP.NET 爱好者,为什么不将它托管在 Azure 网站 for free 上呢?即使在免费模式下,您也无法在自定义域名上使用 SSL。