Outlook 在Office加载项清单中为~remoteAppUrl指定值

Outlook 在Office加载项清单中为~remoteAppUrl指定值,outlook,ms-office,outlook-web-addins,Outlook,Ms Office,Outlook Web Addins,我正在使用为Outlook编写外接程序。项目模板中的清单使用~remoteAppUrl表示web文件的位置。它在开发过程中工作得很好,但是要发布到Office应用商店,我需要那里的产品URL。如果我将生产URL保存到清单中,则在调试期间会使用生产服务器,因此不会显示本地更改 文档提到Visual Studio在调试期间填写此值: 接下来,Visual Studio将执行以下操作: 1.通过将~remoteAppUrl标记替换为起始页的完全限定地址(例如,)来修改XML清单文件的SourceLoc

我正在使用为Outlook编写外接程序。项目模板中的清单使用
~remoteAppUrl
表示web文件的位置。它在开发过程中工作得很好,但是要发布到Office应用商店,我需要那里的产品URL。如果我将生产URL保存到清单中,则在调试期间会使用生产服务器,因此不会显示本地更改

文档提到Visual Studio在调试期间填写此值:

接下来,Visual Studio将执行以下操作:
1.通过将~remoteAppUrl标记替换为起始页的完全限定地址(例如,)来修改XML清单文件的SourceLocation元素

是否有一种内置方法可以让Visual Studio在适当的时间(提交Office Store之前/期间)填写生产URL,而不中断调试?

编辑:

Visual Studio不会填写生产URL,但是您可以复制当前清单并手动将
~remoteAppUrl
替换为相应的主机,从而为您提供外接程序的生产和调试版本

为后人原创


~remoteAppUrl
是文件所在位置的占位符。例如,如果您已将外接程序上载到Azure Web应用程序,则您的远程应用程序url将是类似于myWebApp.azurewebsites.net的

是的,有一种内置方法可以让Visual Studio将
~remoteAppUrl
符号引用标记替换为您选择的目标url

  • 从Visual Studio访问外接程序的“发布…”选项 项目,然后单击“打包外接程序”按钮
  • 然后可以在弹出的模式对话框中输入URL
  • 然后触发一个生成,该生成将在生成的清单XML文件中插入URL
  • Windows资源管理器窗口将方便地打开以显示 生成的文件
  • 以下方法不是内置的,但也可能有用

    如果希望在自动生成中实现此功能,则需要为生成参数
    IsPackaging
    True
    )和
    RemoteAppUrl
    指定值

    如果希望在标准Visual Studio生成中使用此功能,鉴于Visual Studio没有提供一种简单的方法来指定生成参数(请参见),则需要编辑项目文件以设置相同生成参数的值。 例如:

    ...
      <PropertyGroup>
        <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
        ...
        <IsPackaging>True</IsPackaging>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
        ...
        <RemoteAppUrl>https://localhost:44300</RemoteAppUrl>
      </PropertyGroup>
      ...  
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
        ...
        <RemoteAppUrl>https://your.own.url</RemoteAppUrl>
      </PropertyGroup>
    ...
    
    。。。
    调试
    ...
    真的
    ...
    https://localhost:44300
    ...  
    ...
    https://your.own.url
    ...
    
    我想说明值的来源,以替换
    ~remoteAppUrl
    参数。外接程序
    .csproj
    文件包含对WebApp项目的引用:

    <ItemGroup>                                                                     
      <ProjectReference Include="..\OutlookWebAddIn1Web\OutlookWebAddIn1Web.csproj">
        <Project>{57AC33A8-A364-4084-B41F-319C5DBB9FB4}</Project>                   
        <Name>OutlookWebAddIn1Web</Name>                                            
        <Private>True</Private>                                                     
        <RoleType>Web</RoleType>                                                    
        <OutputItemType>SharePointWebProjectOutput</OutputItemType>                 
        <RoleName>OutlookWebAddIn1Web</RoleName>                                    
        <ReferenceOutputAssembly>False</ReferenceOutputAssembly>                    
      </ProjectReference>                                                           
    </ItemGroup>    
    
    
    {57AC33A8-A364-4084-B41F-319C5DB9FB4}
    OutlookWebAddIn1Web
    真的
    网状物
    SharePointWebProjectOutput
    OutlookWebAddIn1Web
    假的
    
    我认为它从WebApp
    .csproj
    文件中获取URL:

    我想我的问题有误导性。我对它进行了编辑以使它更清晰。如果你有答案,请告诉我。没有Visual Studio,可以实现类似的功能吗?@IanVS事实上,部分问题是打包在Visual Studio的“外部”工作,但不是在Visual Studio中工作。因此,在非基于Visual Studio的生成过程中,“[…]需要为生成参数IsPackaging(True)和RemoteAppUrl指定值。”@DeChrist不处理这些事情:
    http://localhost:3000/
    @5ervant在没有更多上下文的情况下很难添加有用的回复。我建议你提出一个新的问题,充分描述你所看到的背景和实际错误。