Visual studio 2015 应用见解csproj文件修改的重要性

Visual studio 2015 应用见解csproj文件修改的重要性,visual-studio-2015,azure-application-insights,Visual Studio 2015,Azure Application Insights,当我在Visual Studio的解决方案资源管理器中右键单击ASP.NET应用程序,使用“添加应用程序洞察遥测…”菜单选项将应用程序指向现有的应用程序洞察资源时,结果文件更改包括向.csproj文件添加两项: <ApplicationInsightsResourceId>/subscriptions/$guid/resourcegroups/$rgname>/providers/microsoft.insights/components/$name</Applicati

当我在Visual Studio的解决方案资源管理器中右键单击ASP.NET应用程序,使用“添加应用程序洞察遥测…”菜单选项将应用程序指向现有的应用程序洞察资源时,结果文件更改包括向
.csproj
文件添加两项:

<ApplicationInsightsResourceId>/subscriptions/$guid/resourcegroups/$rgname>/providers/microsoft.insights/components/$name</ApplicationInsightsResourceId>
<ApplicationInsightsAnnotationResourceId>/subscriptions/$guid/resourcegroups/$rgname/providers/microsoft.insights/components/$name</ApplicationInsightsAnnotationResourceId>
/subscriptions/$guid/resourcegroups/$rgname>/providers/microsoft.insights/components/$name
/订阅/$guid/resourcegroups/$rgname/providers/microsoft.insights/components/$name
我省略了一些信息-
$guid
是Azure订阅guid,
$rgname
$name
分别是为Application Insights资源组和资源指定的名称

  • 每个元素之间的区别是什么?他们似乎有相同的信息

  • 如果我想在不同的环境中向不同的ApplicationInsights资源发送遥测数据,文档告诉我需要在代码中为每个环境设置插装键-这很好-但是这些设置呢?除了在VisualStudio中驱动上下文相关的菜单选项之外,它们还用于其他用途吗?我是否需要在其他环境中担心它们


  • 这些仅用于VisualStudio工具内部。它们在csproj中,因此所有获得您的项目(脱离源代码控制)或其他内容的用户都具有这些值。(如果它存储在注册表或.suo或其他非源位置,则不会随项目“移动”)

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

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


    这些设置不会影响数据在运行时的实际去向,如果您在代码中设置插入键,那么您的数据仍将在那里。

    谢谢,这为我们澄清了几点,特别是发布注释上的链接。