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

问题描述 投票:0回答:3

为什么在构建服务器时,我的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

azure-application-insights
3个回答
1
投票

由于App Publish配置文件不正确,可能会发生这种情况。您的应用程序在VS中的本地发布配置文件应该看起来像这样:

这应该包括:

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

卸载项目(右键单击Project Name - > Unload Project)并编辑项目的.csproj文件(右键单击Project Name - > Edit .csproj)

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

上面提到的设置将确保ApplicationInsights.config文件作为Publish工件的一部分包含在内,其外观如附图所示。

如果这不是您所看到的,请尝试重新创建新的发布配置文件并进行调整以获得预期的配置。验证这一点后,我尝试使用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

希望这可以帮助!


0
投票

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.