【问题标题】:Significance of Application Insights csproj file modificationsApplication Insights csproj 文件修改的意义
【发布时间】:2017-06-24 20:50:38
【问题描述】:

当我在 Visual Studio 的解决方案资源管理器中右键单击 ASP.NET 应用程序以将应用程序指向现有 Application Insights 资源时,使用“添加 Application Insights 遥测...”菜单选项时,生成的文件会更改在.csproj 文件中添加两项:

<ApplicationInsightsResourceId>/subscriptions/$guid/resourcegroups/$rgname>/providers/microsoft.insights/components/$name</ApplicationInsightsResourceId>
<ApplicationInsightsAnnotationResourceId>/subscriptions/$guid/resourcegroups/$rgname/providers/microsoft.insights/components/$name</ApplicationInsightsAnnotationResourceId>

我省略了一些信息 - $guid 是 Azure 订阅 GUID,$rgname$name 分别是 Application Insights 资源组和资源的名称。

  1. 每个元素之间有什么区别?他们似乎拥有相同的信息。

  2. 如果我想将遥测数据发送到不同环境中的不同 Application Insights 资源,文档告诉我需要在代码中为每个环境设置检测密钥 - 这很好 - 但是这些设置呢?除了在 Visual Studio 中驱动上下文相关的菜单选项之外,它们还用于其他用途吗?在其他环境中我需要担心它们吗?

【问题讨论】:

    标签: visual-studio-2015 azure-application-insights


    【解决方案1】:

    这些纯粹是为了在 Visual Studio 工具中使用。它们在 csproj 中,因此所有获得您的项目(脱离源代码控制)或其他任何东西的用户都具有这些值。 (如果它存储在注册表或 .suo 或其他非源位置,它不会与项目“旅行”)

    ApplicationInsightsResourceId 是项目的资源 ID,用于在配置窗口中显示有关 VS 认为您正在向其发送数据的资源的信息。默认情况下,这也用于在 codelens/etc 中显示数据。您可以在配置窗口中覆盖它以选择不同的资源(例如,如果您在开发时将数据发送到调试/暂存资源,但始终希望 codelens/其他工具始终显示来自 prod 的数据)更改资源内部配置窗口 将设置此属性(并将更新您的 applicationinsights.config 文件中的 ikey)

    ApplicationInsightsAnnotationResourceId 是如果您从 Visual Studio 内部发布 Web 应用程序,VS 将尝试将发布 release annotations 提交到的资源。您也可以从配置窗口中更改此资源(或完全改变此行为)。如果您不从 VS 内部发布,则此设置不会执行任何操作。

    这些设置不会影响数据在运行时的实际去向,如果您在代码中设置检测密钥,您的数据仍然会去往那里。

    【讨论】:

    • 谢谢,这为我们澄清了几点——尤其是发布注释上的链接。
    猜你喜欢
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 2019-07-14
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多