为什么我的ApplicationInsights.config文件未包含在MSBuild构建和发布中

时间:2019-03-13 16:30:40

标签: azure-application-insights

为什么在服务器上进行构建时,我的ApplicationInsights.config文件未包含在构建包中。我使用Azure DevOps作为生成服务器,并且使用标准的Visual Studio生成任务。这是MSBuild参数

/ p:DeployOnBuild = true / p:WebPublishMethod = Package / p:PackageAsSingleFile = true / p:SkipInvalidConfigurations = true / p:PackageLocation =“ $(build.artifactstagingdirectory)\” / p:SkipPostSharp = True / p: AutoParameterizationWebConfigConnectionStrings = False

3 个答案:

答案 0 :(得分:1)

这可能是由于不正确的App Publish配置文件导致的。理想情况下,您的应用程序在VS中的本地发布配置文件应如下所示:

这应该包括:

 <File Include="ApplicationInsights.config">
   <publishTime>11/06/2018 12:27:58</publishTime>
 </File>

卸载项目(右键单击项目名称->卸载项目)并编辑项目的.csproj文件(右键单击项目名称->编辑.csproj)

 <Content Include="ApplicationInsights.config">
   <CopyToOutputDirectory>Always</CopyToOutputDirectory>
 </Content>

上述设置将确保ApplicationInsights.config文件作为发布工件的一部分包括在内,其外观如所附屏幕快照所示。

如果这不是您所看到的,请尝试重新创建一个新的发布配置文件并对其进行调整以获得所需的配置。验证后,我确实尝试使用Azure DevOps中的MSBuild任务发布相同的内容,并且能够看到ApplicationInsights.config作为输出构建工件的一部分,并提供了您在上述问题中提到的相同参数:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\" /p:SkipPostSharp=True /p:AutoParameterizationWebConfigConnectionStrings=False

希望这会有所帮助!

答案 1 :(得分:0)

很有可能,属性/项目文件中的ApplicationInsights.config文件设置为“从不复制”。将其更改为“如果较新则复制”或“始终复制”应该可以解决问题。

答案 2 :(得分:0)

此代码库已从另一个团队继承。事实证明,他们修改了项目文件以添加新的MSBuild Targets文件。这些附加任务负责确保未将配置文件添加到输出中。