refactor props (#1907)
* enable deterministic build enabling second deterministic tag removing untracked sources re adding untracked source testing change to generate deterministic build testing directory inside base undoing last directory build + adding to applicationinsights only removing untracked since we are adding manually following suggestions undoing change in csproj removing strange section removing from root and adding to base (test only) undoing directory.builds.props adding assemblyattributes path to csproj removing assembly info embedding undoing merging directory.build.props removing tags and enabling autogeneration of assemblyfileversionattribute enabling assembly version merging directory.build.props unifying langversion merging langversion property updating obj path Revert "updating obj path" This reverts commit 7776153ecdc644480608a2f355faa58368b7fb28. creating product.props to normalyze updating product.props to build correctly moving again enabling temp product.props * removing common.props from base and reference from test.props from base * removing common.props from web and updating references
This commit is contained in:
Родитель
4119d8d865
Коммит
178cd6c965
|
@ -15,11 +15,6 @@
|
|||
|
||||
<!-- https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/warn-compiler-option -->
|
||||
<WarningLevel>4</WarningLevel>
|
||||
|
||||
<!-- TODO: NEEDS INVESTIGATION. This has some conflicts with the functional test apps using dirs.proj -->
|
||||
<!-- https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/langversion-compiler-option -->
|
||||
<!-- https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version -->
|
||||
<!--<LangVersion>7.3</LangVersion>-->
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -50,10 +50,7 @@
|
|||
|
||||
<PropertyGroup Condition="$(BuildServer) == 'true'">
|
||||
<!-- indicate that the build executes on a build/CI server -->
|
||||
<!-- <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild> -->
|
||||
|
||||
<!-- mapping all source paths included in the project outputs to deterministic values -->
|
||||
<!-- <DeterministicSourcePaths>true</DeterministicSourcePaths> -->
|
||||
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
|
||||
|
||||
<!-- produce an assembly whose byte-for-byte output is identical across compilations for identical inputs-->
|
||||
<Deterministic>true</Deterministic>
|
||||
|
@ -69,8 +66,6 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<!-- Disable auto generation of package attributes. This resolves the 'Duplicate attribute' error. -->
|
||||
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
|
||||
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
||||
<GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
|
||||
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
|
||||
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!-- If $(EnlistmentRoot) is not set then Directory.Build.props hasn't been imported yet. Import Microsoft.Common.props to get it included. -->
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="'$(EnlistmentRoot)' == '' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<!-- If $(EnlistmentRoot) is still not set, then import Directory.Build.props directly. This can happen when gitlink tries to build (because it uses MSBuild tools version 4.0 and we can't find Microsoft.Common.props) -->
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Directory.Build.props'))\Directory.Build.props" Condition="'$(EnlistmentRoot)' == ''"/>
|
||||
|
||||
<PropertyGroup>
|
||||
<LangVersion>7.1</LangVersion>
|
||||
<ChecksumAlgorithm>SHA256</ChecksumAlgorithm>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -1,100 +1,56 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!-- This file (Directory.Build.props) is automatically included by MSBuild into all projects in this solution. -->
|
||||
<!-- It defines common build paths and infrastructure. -->
|
||||
<!-- Other products / repositories using the same build pattern will have their own copy of copy this file -->
|
||||
<!-- This file (Directory.Build.props) is automatically included by MSBuild into all projects in this solution. -->
|
||||
<!-- It defines common build paths and infrastructure. -->
|
||||
<!-- Other products / repositories using the same build pattern will have their own copy of copy this file -->
|
||||
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- The common project structure looks like this: -->
|
||||
<!-- d:\DDGit\ -->
|
||||
<!-- ServiceFoo\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- .git\ -->
|
||||
<!-- .nuget\ -->
|
||||
<!-- Directory.Build.props (this file) -->
|
||||
<!-- SomeProjectFolderA\ -->
|
||||
<!-- NuGet.config -->
|
||||
<!-- SomeProjectA.sln -->
|
||||
<!-- ... -->
|
||||
<!-- SomeProjectFolderB\ -->
|
||||
<!-- ... -->
|
||||
<!-- EnlistmentRoot.marker -->
|
||||
<!-- ServiceBar\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- ... -->
|
||||
<!-- -->
|
||||
<!-- The Bin folder contains ALL build output. -->
|
||||
<!-- The Obj folder contains all intermediate build files (like the obj folder). -->
|
||||
<!-- The Packages folder contains ALL packages downloaded by NuGet. -->
|
||||
<!-- The above folders contain NOTHING that is checked in (they are not checked in themselves). -->
|
||||
<!-- The Src folder contains EVERHYTHNG that is checked in and ALL that is checked in. -->
|
||||
<!-- No build output or temp files should end up in the Src folder! (barring a few *small* VS temporaries) -->
|
||||
<!-- -->
|
||||
<!-- Src MUST contain the EnlistmentRoot.marker file which marks the EnlistmentRoot. -->
|
||||
<!-- Src also contains the NuGet.config file which ensures that NuGet uses the NuGet.Packages folder. -->
|
||||
|
||||
<EnlistmentRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'EnlistmentRoot.marker'))</EnlistmentRoot>
|
||||
<SourceRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'SourceRoot.marker'))</SourceRoot>
|
||||
|
||||
|
||||
<KeysRoot>$(EnlistmentRoot)\.keys</KeysRoot>
|
||||
<PropsRoot>$(EnlistmentRoot)\.props</PropsRoot>
|
||||
<RulesetsRoot>$(EnlistmentRoot)\.rulesets</RulesetsRoot>
|
||||
<TargetsRoot>$(EnlistmentRoot)\.targets</TargetsRoot>
|
||||
<PublicApiRoot>$(EnlistmentRoot)\.publicApi</PublicApiRoot>
|
||||
|
||||
|
||||
<BinRoot>$(EnlistmentRoot)\..\bin</BinRoot>
|
||||
<BinRoot>$([System.IO.Path]::GetFullPath( $(BinRoot) ))</BinRoot>
|
||||
|
||||
<RelativeOutputPathBase>$(MSBuildProjectDirectory.Substring($(SourceRoot.Length)))</RelativeOutputPathBase>
|
||||
|
||||
<BaseIntermediateOutputPath>$(EnlistmentRoot)\..\obj\$(MSBuildProjectName)</BaseIntermediateOutputPath>
|
||||
<BaseIntermediateOutputPath>$([System.IO.Path]::GetFullPath( $(BaseIntermediateOutputPath) ))</BaseIntermediateOutputPath>
|
||||
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(RelativeOutputPathBase)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
|
||||
<!-- Collect all NuGet packages in the same folder for convenience during testing -->
|
||||
<PackageOutputDir>$(BinRoot)\$(Configuration)\NuGet</PackageOutputDir>
|
||||
<PackageOutputPath>$(PackageOutputDir)</PackageOutputPath>
|
||||
|
||||
<AppxPackageDir>$(OutputPath)</AppxPackageDir>
|
||||
|
||||
<IntermediateOutputPath>$(BaseIntermediateOutputPath)\$(Configuration)\$(RelativeOutputPathBase)</IntermediateOutputPath>
|
||||
<IntermediateOutputPath>$([System.IO.Path]::GetFullPath( $(IntermediateOutputPath) ))\</IntermediateOutputPath>
|
||||
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(EnlistmentRoot)\</SolutionDir>
|
||||
|
||||
<PackagesDir>$(EnlistmentRoot)\..\packages</PackagesDir>
|
||||
<PackagesDir>$([System.IO.Path]::GetFullPath( $(PackagesDir) ))</PackagesDir>
|
||||
|
||||
<!-- Forces EventRegister target to generate ETW manifest file -->
|
||||
<EtwManifestForceAll Condition="$(OS) == 'Windows_NT'">true</EtwManifestForceAll>
|
||||
<EtwManifestOutDir>$(BinRoot)\$(Configuration)\ETW\$(TargetFramework)\</EtwManifestOutDir>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Enable NuGet package restore during build -->
|
||||
<RestorePackages>true</RestorePackages>
|
||||
<RequireRestoreConsent>false</RequireRestoreConsent>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Generate AssemblyFileVersion and AssemblyVersion attributes. -->
|
||||
<PropertyGroup>
|
||||
<!-- Turn on dynamic assembly attribute generation -->
|
||||
<AssemblyAttributesPath>$(IntermediateOutputPath)\AssemblyInfo.g.cs</AssemblyAttributesPath>
|
||||
<GenerateAdditionalSources>true</GenerateAdditionalSources>
|
||||
</PropertyGroup>
|
||||
<!-- The common project structure looks like this: -->
|
||||
<!-- d:\DDGit\ -->
|
||||
<!-- ServiceFoo\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- .git\ -->
|
||||
<!-- .nuget\ -->
|
||||
<!-- Directory.Build.props (this file) -->
|
||||
<!-- SomeProjectFolderA\ -->
|
||||
<!-- NuGet.config -->
|
||||
<!-- SomeProjectA.sln -->
|
||||
<!-- ... -->
|
||||
<!-- SomeProjectFolderB\ -->
|
||||
<!-- ... -->
|
||||
<!-- EnlistmentRoot.marker -->
|
||||
<!-- ServiceBar\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- ... -->
|
||||
<!-- -->
|
||||
<!-- The Bin folder contains ALL build output. -->
|
||||
<!-- The Obj folder contains all intermediate build files (like the obj folder). -->
|
||||
<!-- The Packages folder contains ALL packages downloaded by NuGet. -->
|
||||
<!-- The above folders contain NOTHING that is checked in (they are not checked in themselves). -->
|
||||
<!-- The Src folder contains EVERHYTHNG that is checked in and ALL that is checked in. -->
|
||||
<!-- No build output or temp files should end up in the Src folder! (barring a few *small* VS temporaries) -->
|
||||
<!-- -->
|
||||
<!-- Src MUST contain the EnlistmentRoot.marker file which marks the EnlistmentRoot. -->
|
||||
<!-- Src also contains the NuGet.config file which ensures that NuGet uses the NuGet.Packages folder. -->
|
||||
|
||||
<SourceRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'SourceRoot.marker'))</SourceRoot>
|
||||
|
||||
<RelativeOutputPathBase>$(MSBuildProjectDirectory.Substring($(SourceRoot.Length)))</RelativeOutputPathBase>
|
||||
|
||||
<AppxPackageDir>$(OutputPath)</AppxPackageDir>
|
||||
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(EnlistmentRoot)\</SolutionDir>
|
||||
|
||||
<!-- Forces EventRegister target to generate ETW manifest file -->
|
||||
<EtwManifestForceAll Condition="$(OS) == 'Windows_NT'">true</EtwManifestForceAll>
|
||||
<EtwManifestOutDir>$(BinRoot)\$(Configuration)\ETW\$(TargetFramework)\</EtwManifestOutDir>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -14,10 +14,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Solution Items", ".Solutio
|
|||
.gitignore = .gitignore
|
||||
CHANGELOG.md = CHANGELOG.md
|
||||
CodeCov.ps1 = CodeCov.ps1
|
||||
Common.props = Common.props
|
||||
Directory.Build.props = Directory.Build.props
|
||||
NuGet.config = NuGet.config
|
||||
Package.targets = Package.targets
|
||||
src\Product.props = src\Product.props
|
||||
README.md = README.md
|
||||
Test.props = Test.props
|
||||
EndProjectSection
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildThisFileDirectory)\Common.props"/>
|
||||
|
||||
<PropertyGroup>
|
||||
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'Test.props'))\Test.props" />
|
||||
|
||||
<!-- temp: remove when we merge ApplicationInsightsTypes -->
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'Product.props'))\Product.props" />
|
||||
|
||||
<Import Project="$(PropsRoot)\Test.props" />
|
||||
<PropertyGroup>
|
||||
<Company>Microsoft</Company>
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<!--Removing the SRC folder from the output directory-->
|
||||
<CorePath>$(RelativeOutputPathBase)</CorePath>
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(CorePath)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -1,5 +1,5 @@
|
|||
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SourceRoot)\Product.props" />
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'Product.props'))\Product.props" />
|
||||
|
||||
<Import Project="$(PropsRoot)\Product.props" />
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
<TargetFrameworks>net45;net46;netstandard2.0</TargetFrameworks>
|
||||
<TargetFrameworks Condition="$(OS) != 'Windows_NT'">netstandard2.0</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!--Nupkg properties-->
|
||||
<PackageId>Microsoft.ApplicationInsights</PackageId>
|
||||
|
@ -26,12 +26,13 @@
|
|||
<PrivateAssets>All</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="4.6.0" />
|
||||
<PackageReference Include="System.Memory" Version="4.5.4" /> <!-- This is a temporary explicit dependency. We're waiting on the next version of System.Diagnostics.DiagnosticSource. https://github.com/microsoft/ApplicationInsights-dotnet/issues/1707 -->
|
||||
<!-- This is a temporary explicit dependency. We're waiting on the next version of System.Diagnostics.DiagnosticSource. https://github.com/microsoft/ApplicationInsights-dotnet/issues/1707 -->
|
||||
<PackageReference Include="System.Memory" Version="4.5.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net45' Or '$(TargetFramework)' == 'net46'">
|
||||
<Reference Include="System.Net.Http" />
|
||||
</ItemGroup>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AdditionalFiles Include="$(PublicApiRoot)\$(AssemblyName).dll\$(TargetFramework)\PublicAPI.Shipped.txt" />
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<!--Removing the SRC folder from the output directory-->
|
||||
<CorePath>$(RelativeOutputPathBase)</CorePath>
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(CorePath)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -1,5 +1,5 @@
|
|||
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SourceRoot)\Product.props" />
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'Product.props'))\Product.props" />
|
||||
|
||||
<Import Project="$(PropsRoot)\Product.props" />
|
||||
|
||||
|
|
|
@ -30,10 +30,13 @@
|
|||
<ObjRoot>$(EnlistmentRoot)\..\obj</ObjRoot>
|
||||
<ObjRoot>$([System.IO.Path]::GetFullPath( $(ObjRoot) ))</ObjRoot>
|
||||
|
||||
<PackagesDir>$(EnlistmentRoot)\..\packages</PackagesDir>
|
||||
<PackagesDir>$([System.IO.Path]::GetFullPath( $(PackagesDir) ))</PackagesDir>
|
||||
|
||||
<RelativeOutputPathBase>$(MSBuildProjectDirectory.Substring($(EnlistmentRoot.Length)))</RelativeOutputPathBase>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(RelativeOutputPathBase)</OutputPath>
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\test\$(MSBuildProjectName)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
|
||||
<!-- Collect all NuGet packages in the same folder for convenience during testing -->
|
||||
|
@ -48,4 +51,13 @@
|
|||
<DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
<LangVersion>7.3</LangVersion>
|
||||
|
||||
<!-- Enable NuGet package restore during build -->
|
||||
<RestorePackages>true</RestorePackages>
|
||||
<RequireRestoreConsent>false</RequireRestoreConsent>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -1,101 +1,58 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!-- This file (Directory.Build.props) is automatically included by MSBuild into all projects in this solution. -->
|
||||
<!-- It defines common build paths and infrastructure. -->
|
||||
<!-- Other products / repositories using the same build pattern will have an own copy of copy this file -->
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- The common project structure looks like this: -->
|
||||
<!-- d:\DDGit\ -->
|
||||
<!-- ServiceFoo\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- .git\ -->
|
||||
<!-- .nuget\ -->
|
||||
<!-- Global.props -->
|
||||
<!-- SomeProjectFolderA\ -->
|
||||
<!-- NuGet.config -->
|
||||
<!-- SomeProjectA.sln -->
|
||||
<!-- ... -->
|
||||
<!-- SomeProjectFolderB\ -->
|
||||
<!-- ... -->
|
||||
<!-- EnlistmentRoot.marker -->
|
||||
<!-- ServiceBar\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- ... -->
|
||||
<!-- -->
|
||||
<!-- The Bin folder contains ALL build output. -->
|
||||
<!-- The Obj folder contains all intermediate build files (like the obj folder). -->
|
||||
<!-- The Packages folder contains ALL packages downloaded by NuGet. -->
|
||||
<!-- The above folders contain NOTHING that is checked in (they are not checked in themselves). -->
|
||||
<!-- The Src folder contains EVERHYTHNG that is checked in and ALL that is checked in. -->
|
||||
<!-- No build output or temp files should end up in the Src folder! (barring a few *small* VS temporaries) -->
|
||||
<!-- -->
|
||||
<!-- Src MUST contain the EnlistmentRoot.marker file which marks the EnlistmentRoot. -->
|
||||
<!-- Src also contains the NuGet.config file which ensures that NuGet uses the NuGet.Packages folder. -->
|
||||
|
||||
<EnlistmentRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'EnlistmentRoot.marker'))</EnlistmentRoot>
|
||||
<SourceRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'SourceRoot.marker'))</SourceRoot>
|
||||
<!-- This file (Directory.Build.props) is automatically included by MSBuild into all projects in this solution. -->
|
||||
<!-- It defines common build paths and infrastructure. -->
|
||||
<!-- Other products / repositories using the same build pattern will have an own copy of copy this file -->
|
||||
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<KeysRoot>$(EnlistmentRoot)\.keys</KeysRoot>
|
||||
<PropsRoot>$(EnlistmentRoot)\.props</PropsRoot>
|
||||
<RulesetsRoot>$(EnlistmentRoot)\.rulesets</RulesetsRoot>
|
||||
<TargetsRoot>$(EnlistmentRoot)\.targets</TargetsRoot>
|
||||
<PublicApiRoot>$(EnlistmentRoot)\.publicApi</PublicApiRoot>
|
||||
|
||||
|
||||
<BinRoot>$(EnlistmentRoot)\..\bin</BinRoot>
|
||||
<BinRoot>$([System.IO.Path]::GetFullPath( $(BinRoot) ))</BinRoot>
|
||||
|
||||
<RelativeOutputPathBase>$(MSBuildProjectDirectory.Substring($(SourceRoot.Length)))</RelativeOutputPathBase>
|
||||
|
||||
<!-- Unit Test projects should be in a separate obj directory to exclude them from SDL scans -->
|
||||
<BaseIntermediateOutputPath>$(EnlistmentRoot)\..\obj\src\$(MSBuildProjectName)</BaseIntermediateOutputPath>
|
||||
<BaseIntermediateOutputPath Condition="$(MSBuildProjectName.Contains('.Tests'))">$(EnlistmentRoot)\..\obj\tests\$(MSBuildProjectName)</BaseIntermediateOutputPath>
|
||||
<BaseIntermediateOutputPath>$([System.IO.Path]::GetFullPath( $(BaseIntermediateOutputPath) ))</BaseIntermediateOutputPath>
|
||||
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(RelativeOutputPathBase)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
|
||||
<!-- Collect all NuGet packages in the same folder for convenience during testing -->
|
||||
<PackageOutputDir>$(BinRoot)\$(Configuration)\NuGet</PackageOutputDir>
|
||||
<PackageOutputPath>$(PackageOutputDir)</PackageOutputPath>
|
||||
|
||||
<AppxPackageDir>$(OutputPath)</AppxPackageDir>
|
||||
|
||||
<IntermediateOutputPath>$(BaseIntermediateOutputPath)\$(Configuration)\$(RelativeOutputPathBase)</IntermediateOutputPath>
|
||||
<IntermediateOutputPath>$([System.IO.Path]::GetFullPath( $(IntermediateOutputPath) ))\</IntermediateOutputPath>
|
||||
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(EnlistmentRoot)\</SolutionDir>
|
||||
|
||||
<PackagesDir>$(EnlistmentRoot)\..\packages</PackagesDir>
|
||||
<PackagesDir>$([System.IO.Path]::GetFullPath( $(PackagesDir) ))</PackagesDir>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Enable NuGet package restore during build -->
|
||||
<RestorePackages>true</RestorePackages>
|
||||
<RequireRestoreConsent>false</RequireRestoreConsent>
|
||||
|
||||
<!-- Set the root namespace for all assemblies in this project hierarchy -->
|
||||
<RootNamespace>Microsoft.ApplicationInsights</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Generate AssemblyFileVersion and AssemblyVersion attributes. -->
|
||||
<PropertyGroup>
|
||||
|
||||
<!-- Turn on dynamic assembly attribute generation -->
|
||||
<AssemblyAttributesPath>$(IntermediateOutputPath)\AssemblyInfo.g.cs</AssemblyAttributesPath>
|
||||
<GenerateAdditionalSources>true</GenerateAdditionalSources>
|
||||
<!-- The common project structure looks like this: -->
|
||||
<!-- d:\DDGit\ -->
|
||||
<!-- ServiceFoo\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- .git\ -->
|
||||
<!-- .nuget\ -->
|
||||
<!-- Global.props -->
|
||||
<!-- SomeProjectFolderA\ -->
|
||||
<!-- NuGet.config -->
|
||||
<!-- SomeProjectA.sln -->
|
||||
<!-- ... -->
|
||||
<!-- SomeProjectFolderB\ -->
|
||||
<!-- ... -->
|
||||
<!-- EnlistmentRoot.marker -->
|
||||
<!-- ServiceBar\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- ... -->
|
||||
<!-- -->
|
||||
<!-- The Bin folder contains ALL build output. -->
|
||||
<!-- The Obj folder contains all intermediate build files (like the obj folder). -->
|
||||
<!-- The Packages folder contains ALL packages downloaded by NuGet. -->
|
||||
<!-- The above folders contain NOTHING that is checked in (they are not checked in themselves). -->
|
||||
<!-- The Src folder contains EVERHYTHNG that is checked in and ALL that is checked in. -->
|
||||
<!-- No build output or temp files should end up in the Src folder! (barring a few *small* VS temporaries) -->
|
||||
<!-- -->
|
||||
<!-- Src MUST contain the EnlistmentRoot.marker file which marks the EnlistmentRoot. -->
|
||||
<!-- Src also contains the NuGet.config file which ensures that NuGet uses the NuGet.Packages folder. -->
|
||||
|
||||
<SourceRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'SourceRoot.marker'))</SourceRoot>
|
||||
|
||||
<RelativeOutputPathBase>$(MSBuildProjectDirectory.Substring($(SourceRoot.Length)))</RelativeOutputPathBase>
|
||||
|
||||
<AppxPackageDir>$(OutputPath)</AppxPackageDir>
|
||||
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(EnlistmentRoot)\</SolutionDir>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Set the root namespace for all assemblies in this project hierarchy -->
|
||||
<RootNamespace>Microsoft.ApplicationInsights</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -11,6 +11,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Solution Items", ".Solutio
|
|||
build.ps1 = build.ps1
|
||||
..\CHANGELOG.md = ..\CHANGELOG.md
|
||||
Common.targets = Common.targets
|
||||
Directory.Build.props = Directory.Build.props
|
||||
dirs.proj = dirs.proj
|
||||
NuGet.config = NuGet.config
|
||||
Readme.md = Readme.md
|
||||
|
|
|
@ -1,47 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<Target Name="Info_DirectoryBuildProps" BeforeTargets="Build" >
|
||||
<Message Text="INFO) Directory.Build.props imported by $(MSBuildProjectName)." Importance="high"/>
|
||||
</Target>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- EnlistmentRoot is used to determine where to put BIN and OBJ directories. -->
|
||||
<EnlistmentRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'EnlistmentRoot.marker'))</EnlistmentRoot>
|
||||
<!-- SourceRoot is used to reference project dependencies (ex: *.props). -->
|
||||
<SourceRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'SourceRoot.marker'))</SourceRoot>
|
||||
|
||||
|
||||
<KeysRoot>$(EnlistmentRoot)\.keys</KeysRoot>
|
||||
<PropsRoot>$(EnlistmentRoot)\.props</PropsRoot>
|
||||
<RulesetsRoot>$(EnlistmentRoot)\.rulesets</RulesetsRoot>
|
||||
<TargetsRoot>$(EnlistmentRoot)\.targets</TargetsRoot>
|
||||
<PublicApiRoot>$(EnlistmentRoot)\.publicApi</PublicApiRoot>
|
||||
|
||||
|
||||
<BinRoot>$(EnlistmentRoot)\..\bin</BinRoot>
|
||||
<BinRoot>$([System.IO.Path]::GetFullPath( $(BinRoot) ))</BinRoot>
|
||||
|
||||
<ObjRoot>$(EnlistmentRoot)\..\obj</ObjRoot>
|
||||
<ObjRoot>$([System.IO.Path]::GetFullPath( $(ObjRoot) ))</ObjRoot>
|
||||
|
||||
<RelativeOutputPathBase>$(MSBuildProjectDirectory.Substring($(SourceRoot.Length)))</RelativeOutputPathBase>
|
||||
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(RelativeOutputPathBase)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
|
||||
<!-- Collect all NuGet packages in the same folder for convenience during testing -->
|
||||
<PackageOutputDir>$(BinRoot)\$(Configuration)\NuGet</PackageOutputDir>
|
||||
<PackageOutputPath>$(PackageOutputDir)</PackageOutputPath>
|
||||
|
||||
<AppxPackageDir>$(OutputPath)</AppxPackageDir>
|
||||
|
||||
<IntermediateOutputPath>$(ObjRoot)\$(Configuration)\$(RelativeOutputPathBase)</IntermediateOutputPath>
|
||||
<IntermediateOutputPath>$([System.IO.Path]::GetFullPath( $(IntermediateOutputPath) ))\</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
</Project>
|
|
@ -1,6 +1,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'Product.props'))\Product.props" />
|
||||
|
||||
<Import Project="$(PropsRoot)\Product.props" />
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Override settings from Nupkg.props. I don't know why the NetCore projects need this and the others don't. -->
|
||||
|
@ -11,12 +12,11 @@
|
|||
<GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute>
|
||||
<GenerateAssemblyTitleAttribute>true</GenerateAssemblyTitleAttribute>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Microsoft.ApplicationInsights.AspNetCore</AssemblyName>
|
||||
<LangVersion>7.2</LangVersion>
|
||||
<TargetFrameworks>netstandard2.0;net451;net46;net461</TargetFrameworks>
|
||||
|
||||
|
||||
<TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netstandard2.0</TargetFrameworks>
|
||||
<DefineConstants>$(DefineConstants);AI_ASPNETCORE_WEB;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
@ -42,18 +42,19 @@
|
|||
<ProjectReference Include="..\..\..\WEB\Src\DependencyCollector\DependencyCollector\DependencyCollector.csproj" />
|
||||
<ProjectReference Include="..\..\..\WEB\Src\PerformanceCollector\PerformanceCollector\Perf.csproj" />
|
||||
<ProjectReference Include="..\..\..\WEB\Src\WindowsServer\WindowsServer\WindowsServer.csproj" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="1.0.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="1.0.2" />
|
||||
<PackageReference Include="System.Text.Encodings.Web" Version="4.3.1" />
|
||||
<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="4.6.0" />
|
||||
<PackageReference Include="System.Memory" Version="4.5.4" /> <!-- This is a temporary explicit dependency. We're waiting on the next version of System.Diagnostics.DiagnosticSource. https://github.com/microsoft/ApplicationInsights-dotnet/issues/1707 -->
|
||||
<PackageReference Include="System.Memory" Version="4.5.4" />
|
||||
<!-- This is a temporary explicit dependency. We're waiting on the next version of System.Diagnostics.DiagnosticSource. https://github.com/microsoft/ApplicationInsights-dotnet/issues/1707 -->
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(TargetFramework)' != 'netstandard2.0' AND '$(TargetFramework)' != 'net461' ">
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.0.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="1.0.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="1.0.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFramework)' == 'net461' ">
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFramework)' == 'net461' ">
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.0" />
|
||||
<ProjectReference Include="..\..\..\LOGGING\src\ILogger\ILogger.csproj" />
|
||||
<ProjectReference Include="..\..\..\WEB\Src\EventCounterCollector\EventCounterCollector\EventCounterCollector.csproj" />
|
||||
|
@ -73,5 +74,5 @@
|
|||
<AdditionalFiles Include="$(PublicApiRoot)\$(AssemblyName).dll\$(TargetFramework)\PublicAPI.Shipped.txt" />
|
||||
<AdditionalFiles Include="$(PublicApiRoot)\$(AssemblyName).dll\$(TargetFramework)\PublicAPI.Unshipped.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'Product.props'))\Product.props" />
|
||||
|
||||
<Import Project="$(PropsRoot)\Product.props" />
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Override settings from Nupkg.props. I don't know why the NetCore projects need this and the others don't. -->
|
||||
|
@ -11,10 +12,9 @@
|
|||
<GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute>
|
||||
<GenerateAssemblyTitleAttribute>true</GenerateAssemblyTitleAttribute>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Microsoft.ApplicationInsights.WorkerService</AssemblyName>
|
||||
<LangVersion>7.2</LangVersion>
|
||||
<TargetFrameworks>netstandard2.0</TargetFrameworks>
|
||||
<DefineConstants>$(DefineConstants);AI_ASPNETCORE_WORKER;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
@ -29,7 +29,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\Shared\Shared.projitems" Label="Shared" />
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\BASE\src\Microsoft.ApplicationInsights\Microsoft.ApplicationInsights.csproj" />
|
||||
<ProjectReference Include="..\..\..\BASE\src\ServerTelemetryChannel\TelemetryChannel.csproj" />
|
||||
|
@ -38,7 +38,7 @@
|
|||
<ProjectReference Include="..\..\..\WEB\Src\EventCounterCollector\EventCounterCollector\EventCounterCollector.csproj" />
|
||||
<ProjectReference Include="..\..\..\WEB\Src\PerformanceCollector\PerformanceCollector\Perf.csproj" />
|
||||
<ProjectReference Include="..\..\..\WEB\Src\WindowsServer\WindowsServer\WindowsServer.csproj" />
|
||||
|
||||
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(SourceRoot)\Common.props"/>
|
||||
|
||||
<PropertyGroup>
|
||||
<!--Removing the SRC folder from the output directory-->
|
||||
<CorePath>$(RelativeOutputPathBase.Substring(4))</CorePath>
|
||||
<CorePath>$(RelativeOutputPathBase)</CorePath>
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(CorePath)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
</PropertyGroup>
|
|
@ -1,34 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<!-- If $(EnlistmentRoot) is not set then Directory.Build.props hasn't been imported yet. Import Microsoft.Common.props to get it included. -->
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="'$(EnlistmentRoot)' == '' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<!-- If $(EnlistmentRoot) is still not set, then import Directory.Build.props directly. This can happen when gitlink tries to build (because it uses MSBuild tools version 4.0 and we can't find Microsoft.Common.props) -->
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Directory.Build.props'))\Directory.Build.props" Condition="'$(EnlistmentRoot)' == ''"/>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFramework)' == 'net45'">
|
||||
<DefineConstants>$(DefineConstants);NET45;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
|
||||
|
||||
<DefineConstants>$(DefineConstants);NETSTANDARD2_0;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard1.6'">
|
||||
|
||||
|
||||
<NetStandardImplicitPackageVersion>1.6.1</NetStandardImplicitPackageVersion>
|
||||
<DefineConstants>$(DefineConstants);NETSTANDARD1_6;NETSTANDARD;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DefineConstants>$(DefineConstants);TRACE;DEBUG;CODE_ANALYSIS;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PartitionPropertiesFile>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'Partition.props'))\Partition.props</PartitionPropertiesFile>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(PartitionPropertiesFile)" Condition="Exists($(PartitionPropertiesFile))" />
|
||||
|
||||
</Project>
|
|
@ -1,112 +1,70 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!-- This file (Directory.Build.props) is automatically included by MSBuild into all projects in this solution. -->
|
||||
<!-- It defines common build paths and infrastructure. -->
|
||||
<!-- Other products / repositories using the same build pattern will have their own copy of copy this file -->
|
||||
<!-- This file (Directory.Build.props) is automatically included by MSBuild into all projects in this solution. -->
|
||||
<!-- It defines common build paths and infrastructure. -->
|
||||
<!-- Other products / repositories using the same build pattern will have their own copy of copy this file -->
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- The common project structure looks like this: -->
|
||||
<!-- d:\DDGit\ -->
|
||||
<!-- ServiceFoo\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- .git\ -->
|
||||
<!-- .nuget\ -->
|
||||
<!-- Directory.Build.props (this file) -->
|
||||
<!-- SomeProjectFolderA\ -->
|
||||
<!-- NuGet.config -->
|
||||
<!-- SomeProjectA.sln -->
|
||||
<!-- ... -->
|
||||
<!-- SomeProjectFolderB\ -->
|
||||
<!-- ... -->
|
||||
<!-- EnlistmentRoot.marker -->
|
||||
<!-- ServiceBar\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- ... -->
|
||||
<!-- -->
|
||||
<!-- The Bin folder contains ALL build output. -->
|
||||
<!-- The Obj folder contains all intermediate build files (like the obj folder). -->
|
||||
<!-- The Packages folder contains ALL packages downloaded by NuGet. -->
|
||||
<!-- The above folders contain NOTHING that is checked in (they are not checked in themselves). -->
|
||||
<!-- The Src folder contains EVERHYTHNG that is checked in and ALL that is checked in. -->
|
||||
<!-- No build output or temp files should end up in the Src folder! (barring a few *small* VS temporaries) -->
|
||||
<!-- -->
|
||||
<!-- Src MUST contain the EnlistmentRoot.marker file which marks the EnlistmentRoot. -->
|
||||
<!-- Src also contains the NuGet.config file which ensures that NuGet uses the NuGet.Packages folder. -->
|
||||
|
||||
<EnlistmentRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'EnlistmentRoot.marker'))</EnlistmentRoot>
|
||||
<SourceRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'SourceRoot.marker'))</SourceRoot>
|
||||
|
||||
|
||||
<KeysRoot>$(EnlistmentRoot)\.keys</KeysRoot>
|
||||
<PropsRoot>$(EnlistmentRoot)\.props</PropsRoot>
|
||||
<RulesetsRoot>$(EnlistmentRoot)\.rulesets</RulesetsRoot>
|
||||
<TargetsRoot>$(EnlistmentRoot)\.targets</TargetsRoot>
|
||||
<PublicApiRoot>$(EnlistmentRoot)\.publicApi</PublicApiRoot>
|
||||
|
||||
|
||||
<BinRoot>$(EnlistmentRoot)\..\bin</BinRoot>
|
||||
<BinRoot>$([System.IO.Path]::GetFullPath( $(BinRoot) ))</BinRoot>
|
||||
|
||||
<RelativeOutputPathBase>$(MSBuildProjectDirectory.Substring($(SourceRoot.Length)))</RelativeOutputPathBase>
|
||||
|
||||
<!-- Unit Test projects should be in a separate obj directory to exclude them from SDL scans -->
|
||||
<BaseIntermediateOutputPath>$(EnlistmentRoot)\..\obj\src\$(MSBuildProjectName)</BaseIntermediateOutputPath>
|
||||
<BaseIntermediateOutputPath Condition="$(MSBuildProjectName.Contains('.Tests'))">$(EnlistmentRoot)\..\obj\tests\$(MSBuildProjectName)</BaseIntermediateOutputPath>
|
||||
<BaseIntermediateOutputPath>$([System.IO.Path]::GetFullPath( $(BaseIntermediateOutputPath) ))</BaseIntermediateOutputPath>
|
||||
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(RelativeOutputPathBase)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
|
||||
<!-- Collect all NuGet packages in the same folder for convenience during testing -->
|
||||
<PackageOutputDir>$(BinRoot)\$(Configuration)\NuGet</PackageOutputDir>
|
||||
<PackageOutputPath>$(PackageOutputDir)</PackageOutputPath>
|
||||
|
||||
<AppxPackageDir>$(OutputPath)</AppxPackageDir>
|
||||
|
||||
<IntermediateOutputPath>$(BaseIntermediateOutputPath)\$(Configuration)\$(RelativeOutputPathBase)</IntermediateOutputPath>
|
||||
<IntermediateOutputPath>$([System.IO.Path]::GetFullPath( $(IntermediateOutputPath) ))\</IntermediateOutputPath>
|
||||
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(EnlistmentRoot)\</SolutionDir>
|
||||
|
||||
<PackagesDir>$(EnlistmentRoot)\..\packages</PackagesDir>
|
||||
<PackagesDir>$([System.IO.Path]::GetFullPath( $(PackagesDir) ))</PackagesDir>
|
||||
|
||||
<MyGetPackageSource>https://www.myget.org/F/applicationinsights/api/v2</MyGetPackageSource>
|
||||
|
||||
<PowerShellExe Condition=" '$(PowerShellExe)'=='' ">%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe</PowerShellExe>
|
||||
|
||||
<NugetVersionFilePath>$(MSBuildThisFileDirectory).nugetVersion</NugetVersionFilePath>
|
||||
<BuildNugetVersion Condition="Exists($(NugetVersionFilePath))">$([System.IO.File]::ReadAllText($(NugetVersionFilePath)))</BuildNugetVersion>
|
||||
|
||||
<!-- Forces EventRegister target to generate ETW manifest file -->
|
||||
<EtwManifestForceAll>true</EtwManifestForceAll>
|
||||
<EtwManifestOutDir>$(BinRoot)\$(Configuration)\ETW\</EtwManifestOutDir>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Enable NuGet package restore during build -->
|
||||
<RestorePackages>true</RestorePackages>
|
||||
<RequireRestoreConsent>false</RequireRestoreConsent>
|
||||
|
||||
<!-- Set the root namespace for all assemblies in this project hierarchy -->
|
||||
<RootNamespace>Microsoft.ApplicationInsights</RootNamespace>
|
||||
|
||||
</PropertyGroup>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<!-- Generate AssemblyFileVersion and AssemblyVersion attributes. -->
|
||||
<PropertyGroup>
|
||||
<!-- Turn on dynamic assembly attribute generation -->
|
||||
<AssemblyAttributesPath>$(IntermediateOutputPath)\AssemblyInfo.g.cs</AssemblyAttributesPath>
|
||||
<GenerateAdditionalSources>true</GenerateAdditionalSources>
|
||||
<!-- The common project structure looks like this: -->
|
||||
<!-- d:\DDGit\ -->
|
||||
<!-- ServiceFoo\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- .git\ -->
|
||||
<!-- .nuget\ -->
|
||||
<!-- Directory.Build.props (this file) -->
|
||||
<!-- SomeProjectFolderA\ -->
|
||||
<!-- NuGet.config -->
|
||||
<!-- SomeProjectA.sln -->
|
||||
<!-- ... -->
|
||||
<!-- SomeProjectFolderB\ -->
|
||||
<!-- ... -->
|
||||
<!-- EnlistmentRoot.marker -->
|
||||
<!-- ServiceBar\ -->
|
||||
<!-- Bin\ -->
|
||||
<!-- Obj\ -->
|
||||
<!-- Packages\ -->
|
||||
<!-- Src\ -->
|
||||
<!-- ... -->
|
||||
<!-- -->
|
||||
<!-- The Bin folder contains ALL build output. -->
|
||||
<!-- The Obj folder contains all intermediate build files (like the obj folder). -->
|
||||
<!-- The Packages folder contains ALL packages downloaded by NuGet. -->
|
||||
<!-- The above folders contain NOTHING that is checked in (they are not checked in themselves). -->
|
||||
<!-- The Src folder contains EVERHYTHNG that is checked in and ALL that is checked in. -->
|
||||
<!-- No build output or temp files should end up in the Src folder! (barring a few *small* VS temporaries) -->
|
||||
<!-- -->
|
||||
<!-- Src MUST contain the EnlistmentRoot.marker file which marks the EnlistmentRoot. -->
|
||||
<!-- Src also contains the NuGet.config file which ensures that NuGet uses the NuGet.Packages folder. -->
|
||||
|
||||
<SourceRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'SourceRoot.marker'))</SourceRoot>
|
||||
|
||||
<RelativeOutputPathBase>$(MSBuildProjectDirectory.Substring($(SourceRoot.Length)))</RelativeOutputPathBase>
|
||||
|
||||
<AppxPackageDir>$(OutputPath)</AppxPackageDir>
|
||||
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(EnlistmentRoot)\</SolutionDir>
|
||||
|
||||
<MyGetPackageSource>https://www.myget.org/F/applicationinsights/api/v2</MyGetPackageSource>
|
||||
|
||||
<PowerShellExe Condition=" '$(PowerShellExe)'=='' ">%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe</PowerShellExe>
|
||||
|
||||
<NugetVersionFilePath>$(MSBuildThisFileDirectory).nugetVersion</NugetVersionFilePath>
|
||||
<BuildNugetVersion Condition="Exists($(NugetVersionFilePath))">$([System.IO.File]::ReadAllText($(NugetVersionFilePath)))</BuildNugetVersion>
|
||||
|
||||
<!-- Forces EventRegister target to generate ETW manifest file -->
|
||||
<EtwManifestForceAll Condition="$(OS) == 'Windows_NT'">true</EtwManifestForceAll>
|
||||
<EtwManifestOutDir>$(BinRoot)\$(Configuration)\ETW\$(TargetFramework)\</EtwManifestOutDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Set the root namespace for all assemblies in this project hierarchy -->
|
||||
<RootNamespace>Microsoft.ApplicationInsights</RootNamespace>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -22,7 +22,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xdt.Tests", "PerformanceCol
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Solution Items", ".Solution Items", "{0828A19C-C62C-4B5E-9160-5A6F992F2000}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
..\Common.props = ..\Common.props
|
||||
..\Directory.Build.props = ..\Directory.Build.props
|
||||
..\dirs.proj = ..\dirs.proj
|
||||
..\NuGet.config = ..\NuGet.config
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'Test.props'))\Test.props" />
|
||||
|
||||
<Import Project="$(PropsRoot)\Test.props" />
|
||||
<Import Project="..\..\..\Test.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)\..', 'Common.props'))\Common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!--Removing the SRC folder from the output directory-->
|
||||
<CorePath>$(RelativeOutputPathBase)</CorePath>
|
||||
<OutputPath>$(BinRoot)\$(Configuration)\$(CorePath)</OutputPath>
|
||||
<OutputPath>$([System.IO.Path]::GetFullPath( $(OutputPath) ))\</OutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildThisFileDirectory)\Common.props"/>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Microsoft.ApplicationInsights.$(MSBuildProjectName)</AssemblyName>
|
||||
</PropertyGroup>
|
||||
|
|
Загрузка…
Ссылка в новой задаче