Merge branch 'develop' into cijothomas/fixtransmissiontest

This commit is contained in:
Cijo Thomas 2019-11-14 12:34:49 -08:00 коммит произвёл GitHub
Родитель 4f25949454 2d0081872c
Коммит b04d58b46b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
43 изменённых файлов: 234 добавлений и 3594 удалений

Просмотреть файл

@ -1,7 +1,11 @@
param(
[Parameter(Mandatory=$True)]
[System.String]
$Directory
$Directory,
[Parameter(Mandatory=$False)]
[System.Boolean]
$CleanBinAndObj
)
@ -15,9 +19,11 @@ function Clean ([string]$dir) {
Write-Host "`nDirectory: $($dir)";
if (Test-Path $dir)
{
{
PrintFileCount $dir;
Remove-Item $dir -Recurse -Force;
Write-Host " removed";
PrintFileCount $dir;
}
else
{
@ -25,5 +31,15 @@ function Clean ([string]$dir) {
}
}
Clean "$($Directory)\bin"
Clean "$($Directory)\obj"
function PrintFileCount ([string]$dir) {
$count = ( Get-ChildItem $dir -Recurse | Measure-Object ).Count;
Write-Host " File count: $($count)";
}
if ($CleanBinAndObj) {
Clean "$($Directory)\bin"
Clean "$($Directory)\obj"
} else {
Clean "$($Directory)"
}

Просмотреть файл

@ -0,0 +1,53 @@
# SUMMARY
# This script will stop and remove docker images from a build server.
# This is used to prevent consuming all available space on a build server.
$ErrorActionPreference = "silentlycontinue"
& docker info
& docker images -a
& docker ps -a
Write-Host "Images before cleanup"
& docker images -a
Write-Host "Containers before cleanup"
& docker ps -a
Write-Host "Stopping E2E Containers"
& docker stop e2etests_ingestionservice_1
& docker stop e2etests_e2etestwebapi_1
& docker stop e2etests_e2etestwebappcore20_1
& docker stop e2etests_e2etestwebappcore30_1
& docker stop e2etests_e2etestwebapp_1
& docker stop e2etests_sql-server_1
& docker stop e2etests_azureemulator_1
Write-Host "Removing E2E Containers"
& docker rm e2etests_ingestionservice_1
& docker rm e2etests_e2etestwebapi_1
& docker rm e2etests_e2etestwebappcore20_1
& docker rm e2etests_e2etestwebappcore30_1
& docker rm e2etests_e2etestwebapp_1
& docker rm e2etests_sql-server_1
& docker rm e2etests_azureemulator_1
Write-Host "Removing E2E Images"
& docker rmi -f e2etests_ingestionservice
& docker rmi -f e2etests_e2etestwebapi
& docker rmi -f e2etests_e2etestwebappcore20
& docker rmi -f e2etests_e2etestwebappcore30
& docker rmi -f e2etests_e2etestwebapp
& docker rmi -f e2etests_azureemulator
Write-Host "Removing dangling images"
docker images -f "dangling=true" -q | ForEach-Object {docker rmi $_ -f}
Write-Host "Removing E2E Containers"
docker ps -a -q | ForEach-Object {docker rm $_ -f}
Write-Host "Images after cleanup"
& docker images -a
Write-Host "Containers after cleanup"
& docker ps -a

Просмотреть файл

@ -0,0 +1,32 @@
# SUMMARY
# This script will kill iis express processes.
# This is used with our functional tests.
Write-Host "Cleaning up iisexpress"
$s = Get-Process -Name iisexpress -ErrorAction SilentlyContinue
if($s -ne $null)
{
$s | Stop-Process
}
else
{
Write-Host "IISExpress.exe not found"
}
$s = Get-Process -Name iisexpresstray -ErrorAction SilentlyContinue
if($s -ne $null)
{
$s | Stop-Process
}
else
{
Write-Host "iisexpresstray.exe not found"
}
Write-Host "Cleaning up iisexpresstray completed"

Просмотреть файл

@ -1,632 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="ApplicationInsights SDK Rules" Description="These rules focus on the most critical problems in your code, including potential security holes, application crashes, and other important logic and design errors. It is recommended to include this rule set in any custom rule set you create for your projects. These include a combination of Microsoft Managed Recommended Rules and DevDivRuleSet for Microbuild." ToolsVersion="15.0">
<Localization ResourceAssembly="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.dll" ResourceBaseName="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.Localized">
<Name Resource="ApplicationInsightsSDKRules_Name" />
<Description Resource="ApplicationInsightsSDKRules_Description" />
</Localization>
<Include Path="microsoft-security-recommended.ruleset" Action="Default" />
<Include Path="minimumrecommendedrules.ruleset" Action="Default" />
<Include Path="securityrules.ruleset" Action="Default" />
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1001" Action="Warning" />
<Rule Id="CA1009" Action="Warning" />
<Rule Id="CA1016" Action="Warning" />
<!-- Suppressing Message "Modify 'method' to catch a more specific exception type, or rethrow the exception" because we already catch Exceptions we care about and either log/ignore others. -->
<Rule Id="CA1031" Action="None" />
<Rule Id="CA1033" Action="Warning" />
<Rule Id="CA1049" Action="Warning" />
<Rule Id="CA1060" Action="Warning" />
<Rule Id="CA1061" Action="Warning" />
<!-- Disabling this check "CA1063: Implement IDisposable correctly".
This analyzer has a bug which fails the build, https://github.com/dotnet/roslyn-analyzers/issues/1815 -->
<Rule Id="CA1063" Action="None" />
<Rule Id="CA1065" Action="Warning" />
<Rule Id="CA1304" Action="Warning" />
<Rule Id="CA1305" Action="Warning" />
<Rule Id="CA1307" Action="Warning" />
<Rule Id="CA1309" Action="Warning" />
<Rule Id="CA1401" Action="Warning" />
<Rule Id="CA1403" Action="Warning" />
<Rule Id="CA1405" Action="Warning" />
<Rule Id="CA1410" Action="Warning" />
<Rule Id="CA1821" Action="Warning" />
<Rule Id="CA1900" Action="Warning" />
<Rule Id="CA2001" Action="Warning" />
<Rule Id="CA2002" Action="Warning" />
<!-- Suppressing Message "Do not create tasks without passing a TaskScheduler" because framework manages this by default -->
<Rule Id="CA2008" Action="None" />
<Rule Id="CA2100" Action="Warning" />
<Rule Id="CA2102" Action="Warning" />
<Rule Id="CA2103" Action="Warning" />
<Rule Id="CA2104" Action="Warning" />
<Rule Id="CA2105" Action="Warning" />
<Rule Id="CA2106" Action="Warning" />
<Rule Id="CA2107" Action="Warning" />
<Rule Id="CA2108" Action="Warning" />
<Rule Id="CA2109" Action="Warning" />
<Rule Id="CA2111" Action="Warning" />
<Rule Id="CA2112" Action="Warning" />
<Rule Id="CA2114" Action="Warning" />
<Rule Id="CA2115" Action="Warning" />
<Rule Id="CA2116" Action="Warning" />
<Rule Id="CA2117" Action="Warning" />
<Rule Id="CA2118" Action="Warning" />
<Rule Id="CA2119" Action="Warning" />
<Rule Id="CA2120" Action="Warning" />
<Rule Id="CA2121" Action="Warning" />
<Rule Id="CA2122" Action="Warning" />
<Rule Id="CA2123" Action="Warning" />
<Rule Id="CA2124" Action="Warning" />
<Rule Id="CA2126" Action="Warning" />
<Rule Id="CA2130" Action="Warning" />
<Rule Id="CA2131" Action="Warning" />
<Rule Id="CA2132" Action="Warning" />
<Rule Id="CA2133" Action="Warning" />
<Rule Id="CA2134" Action="Warning" />
<Rule Id="CA2135" Action="Warning" />
<Rule Id="CA2136" Action="Warning" />
<Rule Id="CA2137" Action="Warning" />
<Rule Id="CA2138" Action="Warning" />
<Rule Id="CA2139" Action="Warning" />
<Rule Id="CA2140" Action="Warning" />
<Rule Id="CA2141" Action="Warning" />
<Rule Id="CA2142" Action="Warning" />
<Rule Id="CA2143" Action="Warning" />
<Rule Id="CA2144" Action="Warning" />
<Rule Id="CA2145" Action="Warning" />
<Rule Id="CA2146" Action="Warning" />
<Rule Id="CA2147" Action="Warning" />
<Rule Id="CA2149" Action="Warning" />
<Rule Id="CA2151" Action="Warning" />
<Rule Id="CA2200" Action="Warning" />
<Rule Id="CA2202" Action="Warning" />
<Rule Id="CA2207" Action="Warning" />
<Rule Id="CA2210" Action="None" />
<Rule Id="CA2212" Action="Warning" />
<!-- Disabling this check "CA2213:DisposableFieldsShouldBeDisposed".
This analyzer has a bug which fails the build, https://github.com/dotnet/roslyn-analyzers/issues/1815 -->
<Rule Id="CA2213" Action="None" />
<Rule Id="CA2214" Action="Warning" />
<Rule Id="CA2216" Action="Warning" />
<Rule Id="CA2219" Action="Warning" />
<Rule Id="CA2220" Action="Warning" />
<Rule Id="CA2229" Action="Warning" />
<Rule Id="CA2231" Action="Warning" />
<Rule Id="CA2232" Action="Warning" />
<Rule Id="CA2233" Action="Warning" />
<Rule Id="CA2234" Action="Warning" />
<Rule Id="CA2235" Action="Warning" />
<Rule Id="CA2236" Action="Warning" />
<Rule Id="CA2237" Action="Warning" />
<Rule Id="CA2238" Action="Warning" />
<Rule Id="CA2240" Action="Warning" />
<Rule Id="CA2241" Action="Warning" />
<Rule Id="CA2242" Action="Warning" />
<Rule Id="CA5122" Action="Warning" />
</Rules>
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<Rule Id="C26100" Action="Warning" />
<Rule Id="C26101" Action="Warning" />
<Rule Id="C26105" Action="Warning" />
<Rule Id="C26110" Action="Warning" />
<Rule Id="C26111" Action="Warning" />
<Rule Id="C26112" Action="Warning" />
<Rule Id="C26115" Action="Warning" />
<Rule Id="C26116" Action="Warning" />
<Rule Id="C26117" Action="Warning" />
<Rule Id="C26130" Action="Warning" />
<Rule Id="C26135" Action="Warning" />
<Rule Id="C26140" Action="Warning" />
<Rule Id="C26160" Action="Warning" />
<Rule Id="C26165" Action="Warning" />
<Rule Id="C26166" Action="Warning" />
<Rule Id="C26167" Action="Warning" />
<Rule Id="C28020" Action="Warning" />
<Rule Id="C28021" Action="Warning" />
<Rule Id="C28022" Action="Warning" />
<Rule Id="C28023" Action="Warning" />
<Rule Id="C28024" Action="Warning" />
<Rule Id="C28039" Action="Warning" />
<Rule Id="C28101" Action="Warning" />
<Rule Id="C28103" Action="Warning" />
<Rule Id="C28104" Action="Warning" />
<Rule Id="C28105" Action="Warning" />
<Rule Id="C28106" Action="Warning" />
<Rule Id="C28107" Action="Warning" />
<Rule Id="C28108" Action="Warning" />
<Rule Id="C28109" Action="Warning" />
<Rule Id="C28110" Action="Warning" />
<Rule Id="C28111" Action="Warning" />
<Rule Id="C28112" Action="Warning" />
<Rule Id="C28113" Action="Warning" />
<Rule Id="C28114" Action="Warning" />
<Rule Id="C28120" Action="Warning" />
<Rule Id="C28121" Action="Warning" />
<Rule Id="C28122" Action="Warning" />
<Rule Id="C28123" Action="Warning" />
<Rule Id="C28124" Action="Warning" />
<Rule Id="C28125" Action="Warning" />
<Rule Id="C28126" Action="Warning" />
<Rule Id="C28127" Action="Warning" />
<Rule Id="C28128" Action="Warning" />
<Rule Id="C28129" Action="Warning" />
<Rule Id="C28131" Action="Warning" />
<Rule Id="C28132" Action="Warning" />
<Rule Id="C28133" Action="Warning" />
<Rule Id="C28134" Action="Warning" />
<Rule Id="C28135" Action="Warning" />
<Rule Id="C28137" Action="Warning" />
<Rule Id="C28138" Action="Warning" />
<Rule Id="C28141" Action="Warning" />
<Rule Id="C28143" Action="Warning" />
<Rule Id="C28144" Action="Warning" />
<Rule Id="C28145" Action="Warning" />
<Rule Id="C28146" Action="Warning" />
<Rule Id="C28147" Action="Warning" />
<Rule Id="C28150" Action="Warning" />
<Rule Id="C28151" Action="Warning" />
<Rule Id="C28152" Action="Warning" />
<Rule Id="C28153" Action="Warning" />
<Rule Id="C28156" Action="Warning" />
<Rule Id="C28157" Action="Warning" />
<Rule Id="C28158" Action="Warning" />
<Rule Id="C28159" Action="Warning" />
<Rule Id="C28160" Action="Warning" />
<Rule Id="C28161" Action="Warning" />
<Rule Id="C28162" Action="Warning" />
<Rule Id="C28163" Action="Warning" />
<Rule Id="C28164" Action="Warning" />
<Rule Id="C28165" Action="Warning" />
<Rule Id="C28166" Action="Warning" />
<Rule Id="C28167" Action="Warning" />
<Rule Id="C28168" Action="Warning" />
<Rule Id="C28169" Action="Warning" />
<Rule Id="C28170" Action="Warning" />
<Rule Id="C28171" Action="Warning" />
<Rule Id="C28172" Action="Warning" />
<Rule Id="C28173" Action="Warning" />
<Rule Id="C28175" Action="Warning" />
<Rule Id="C28176" Action="Warning" />
<Rule Id="C28182" Action="Warning" />
<Rule Id="C28183" Action="Warning" />
<Rule Id="C28193" Action="Warning" />
<Rule Id="C28194" Action="Warning" />
<Rule Id="C28195" Action="Warning" />
<Rule Id="C28196" Action="Warning" />
<Rule Id="C28197" Action="Warning" />
<Rule Id="C28198" Action="Warning" />
<Rule Id="C28199" Action="Warning" />
<Rule Id="C28202" Action="Warning" />
<Rule Id="C28203" Action="Warning" />
<Rule Id="C28204" Action="Warning" />
<Rule Id="C28205" Action="Warning" />
<Rule Id="C28206" Action="Warning" />
<Rule Id="C28207" Action="Warning" />
<Rule Id="C28208" Action="Warning" />
<Rule Id="C28209" Action="Warning" />
<Rule Id="C28210" Action="Warning" />
<Rule Id="C28211" Action="Warning" />
<Rule Id="C28212" Action="Warning" />
<Rule Id="C28213" Action="Warning" />
<Rule Id="C28214" Action="Warning" />
<Rule Id="C28215" Action="Warning" />
<Rule Id="C28216" Action="Warning" />
<Rule Id="C28217" Action="Warning" />
<Rule Id="C28218" Action="Warning" />
<Rule Id="C28219" Action="Warning" />
<Rule Id="C28220" Action="Warning" />
<Rule Id="C28221" Action="Warning" />
<Rule Id="C28222" Action="Warning" />
<Rule Id="C28223" Action="Warning" />
<Rule Id="C28224" Action="Warning" />
<Rule Id="C28225" Action="Warning" />
<Rule Id="C28226" Action="Warning" />
<Rule Id="C28227" Action="Warning" />
<Rule Id="C28228" Action="Warning" />
<Rule Id="C28229" Action="Warning" />
<Rule Id="C28230" Action="Warning" />
<Rule Id="C28231" Action="Warning" />
<Rule Id="C28232" Action="Warning" />
<Rule Id="C28233" Action="Warning" />
<Rule Id="C28234" Action="Warning" />
<Rule Id="C28235" Action="Warning" />
<Rule Id="C28236" Action="Warning" />
<Rule Id="C28237" Action="Warning" />
<Rule Id="C28238" Action="Warning" />
<Rule Id="C28239" Action="Warning" />
<Rule Id="C28240" Action="Warning" />
<Rule Id="C28241" Action="Warning" />
<Rule Id="C28243" Action="Warning" />
<Rule Id="C28244" Action="Warning" />
<Rule Id="C28245" Action="Warning" />
<Rule Id="C28246" Action="Warning" />
<Rule Id="C28250" Action="Warning" />
<Rule Id="C28251" Action="Warning" />
<Rule Id="C28252" Action="Warning" />
<Rule Id="C28253" Action="Warning" />
<Rule Id="C28254" Action="Warning" />
<Rule Id="C28260" Action="Warning" />
<Rule Id="C28262" Action="Warning" />
<Rule Id="C28263" Action="Warning" />
<Rule Id="C28266" Action="Warning" />
<Rule Id="C28267" Action="Warning" />
<Rule Id="C28272" Action="Warning" />
<Rule Id="C28273" Action="Warning" />
<Rule Id="C28275" Action="Warning" />
<Rule Id="C28278" Action="Warning" />
<Rule Id="C28279" Action="Warning" />
<Rule Id="C28280" Action="Warning" />
<Rule Id="C28282" Action="Warning" />
<Rule Id="C28283" Action="Warning" />
<Rule Id="C28284" Action="Warning" />
<Rule Id="C28285" Action="Warning" />
<Rule Id="C28286" Action="Warning" />
<Rule Id="C28287" Action="Warning" />
<Rule Id="C28288" Action="Warning" />
<Rule Id="C28289" Action="Warning" />
<Rule Id="C28290" Action="Warning" />
<Rule Id="C28291" Action="Warning" />
<Rule Id="C28300" Action="Warning" />
<Rule Id="C28301" Action="Warning" />
<Rule Id="C28302" Action="Warning" />
<Rule Id="C28303" Action="Warning" />
<Rule Id="C28304" Action="Warning" />
<Rule Id="C28305" Action="Warning" />
<Rule Id="C28306" Action="Warning" />
<Rule Id="C28307" Action="Warning" />
<Rule Id="C28308" Action="Warning" />
<Rule Id="C28309" Action="Warning" />
<Rule Id="C28350" Action="Warning" />
<Rule Id="C28351" Action="Warning" />
<Rule Id="C28601" Action="Warning" />
<Rule Id="C28602" Action="Warning" />
<Rule Id="C28604" Action="Warning" />
<Rule Id="C28615" Action="Warning" />
<Rule Id="C28616" Action="Warning" />
<Rule Id="C28617" Action="Warning" />
<Rule Id="C28623" Action="Warning" />
<Rule Id="C28624" Action="Warning" />
<Rule Id="C28625" Action="Warning" />
<Rule Id="C28636" Action="Warning" />
<Rule Id="C28637" Action="Warning" />
<Rule Id="C28638" Action="Warning" />
<Rule Id="C28639" Action="Warning" />
<Rule Id="C28640" Action="Warning" />
<Rule Id="C28645" Action="Warning" />
<Rule Id="C28648" Action="Warning" />
<Rule Id="C28649" Action="Warning" />
<Rule Id="C28650" Action="Warning" />
<Rule Id="C28714" Action="Warning" />
<Rule Id="C28715" Action="Warning" />
<Rule Id="C28716" Action="Warning" />
<Rule Id="C28717" Action="Warning" />
<Rule Id="C28719" Action="Warning" />
<Rule Id="C28720" Action="Warning" />
<Rule Id="C28721" Action="Warning" />
<Rule Id="C28726" Action="Warning" />
<Rule Id="C28727" Action="Warning" />
<Rule Id="C28730" Action="Warning" />
<Rule Id="C28735" Action="Warning" />
<Rule Id="C28736" Action="Warning" />
<Rule Id="C28750" Action="Warning" />
<Rule Id="C28751" Action="Warning" />
<Rule Id="C6001" Action="Warning" />
<Rule Id="C6011" Action="Warning" />
<Rule Id="C6014" Action="Warning" />
<Rule Id="C6029" Action="Warning" />
<Rule Id="C6031" Action="Warning" />
<Rule Id="C6053" Action="Warning" />
<Rule Id="C6054" Action="Warning" />
<Rule Id="C6059" Action="Warning" />
<Rule Id="C6063" Action="Warning" />
<Rule Id="C6064" Action="Warning" />
<Rule Id="C6066" Action="Warning" />
<Rule Id="C6067" Action="Warning" />
<Rule Id="C6101" Action="Warning" />
<Rule Id="C6200" Action="Warning" />
<Rule Id="C6201" Action="Warning" />
<Rule Id="C6211" Action="Warning" />
<Rule Id="C6214" Action="Warning" />
<Rule Id="C6215" Action="Warning" />
<Rule Id="C6216" Action="Warning" />
<Rule Id="C6217" Action="Warning" />
<Rule Id="C6219" Action="Warning" />
<Rule Id="C6220" Action="Warning" />
<Rule Id="C6221" Action="Warning" />
<Rule Id="C6225" Action="Warning" />
<Rule Id="C6226" Action="Warning" />
<Rule Id="C6230" Action="Warning" />
<Rule Id="C6235" Action="Warning" />
<Rule Id="C6236" Action="Warning" />
<Rule Id="C6237" Action="Warning" />
<Rule Id="C6239" Action="Warning" />
<Rule Id="C6240" Action="Warning" />
<Rule Id="C6242" Action="Warning" />
<Rule Id="C6244" Action="Warning" />
<Rule Id="C6246" Action="Warning" />
<Rule Id="C6248" Action="Warning" />
<Rule Id="C6250" Action="Warning" />
<Rule Id="C6255" Action="Warning" />
<Rule Id="C6258" Action="Warning" />
<Rule Id="C6259" Action="Warning" />
<Rule Id="C6260" Action="Warning" />
<Rule Id="C6262" Action="Warning" />
<Rule Id="C6263" Action="Warning" />
<Rule Id="C6268" Action="Warning" />
<Rule Id="C6269" Action="Warning" />
<Rule Id="C6270" Action="Warning" />
<Rule Id="C6271" Action="Warning" />
<Rule Id="C6272" Action="Warning" />
<Rule Id="C6273" Action="Warning" />
<Rule Id="C6274" Action="Warning" />
<Rule Id="C6276" Action="Warning" />
<Rule Id="C6277" Action="Warning" />
<Rule Id="C6278" Action="Warning" />
<Rule Id="C6279" Action="Warning" />
<Rule Id="C6280" Action="Warning" />
<Rule Id="C6281" Action="Warning" />
<Rule Id="C6282" Action="Warning" />
<Rule Id="C6283" Action="Warning" />
<Rule Id="C6284" Action="Warning" />
<Rule Id="C6285" Action="Warning" />
<Rule Id="C6286" Action="Warning" />
<Rule Id="C6287" Action="Warning" />
<Rule Id="C6288" Action="Warning" />
<Rule Id="C6289" Action="Warning" />
<Rule Id="C6290" Action="Warning" />
<Rule Id="C6291" Action="Warning" />
<Rule Id="C6292" Action="Warning" />
<Rule Id="C6293" Action="Warning" />
<Rule Id="C6294" Action="Warning" />
<Rule Id="C6295" Action="Warning" />
<Rule Id="C6296" Action="Warning" />
<Rule Id="C6297" Action="Warning" />
<Rule Id="C6298" Action="Warning" />
<Rule Id="C6299" Action="Warning" />
<Rule Id="C6302" Action="Warning" />
<Rule Id="C6303" Action="Warning" />
<Rule Id="C6305" Action="Warning" />
<Rule Id="C6306" Action="Warning" />
<Rule Id="C6308" Action="Warning" />
<Rule Id="C6310" Action="Warning" />
<Rule Id="C6312" Action="Warning" />
<Rule Id="C6313" Action="Warning" />
<Rule Id="C6314" Action="Warning" />
<Rule Id="C6315" Action="Warning" />
<Rule Id="C6316" Action="Warning" />
<Rule Id="C6317" Action="Warning" />
<Rule Id="C6318" Action="Warning" />
<Rule Id="C6319" Action="Warning" />
<Rule Id="C6320" Action="Warning" />
<Rule Id="C6322" Action="Warning" />
<Rule Id="C6323" Action="Warning" />
<Rule Id="C6324" Action="Warning" />
<Rule Id="C6326" Action="Warning" />
<Rule Id="C6328" Action="Warning" />
<Rule Id="C6329" Action="Warning" />
<Rule Id="C6330" Action="Warning" />
<Rule Id="C6331" Action="Warning" />
<Rule Id="C6332" Action="Warning" />
<Rule Id="C6333" Action="Warning" />
<Rule Id="C6334" Action="Warning" />
<Rule Id="C6335" Action="Warning" />
<Rule Id="C6336" Action="Warning" />
<Rule Id="C6340" Action="Warning" />
<Rule Id="C6381" Action="Warning" />
<Rule Id="C6383" Action="Warning" />
<Rule Id="C6384" Action="Warning" />
<Rule Id="C6385" Action="Warning" />
<Rule Id="C6386" Action="Warning" />
<Rule Id="C6387" Action="Warning" />
<Rule Id="C6388" Action="Warning" />
<Rule Id="C6400" Action="Warning" />
<Rule Id="C6401" Action="Warning" />
<Rule Id="C6411" Action="Warning" />
<Rule Id="C6412" Action="Warning" />
<Rule Id="C6500" Action="Warning" />
<Rule Id="C6501" Action="Warning" />
<Rule Id="C6503" Action="Warning" />
<Rule Id="C6504" Action="Warning" />
<Rule Id="C6505" Action="Warning" />
<Rule Id="C6506" Action="Warning" />
<Rule Id="C6508" Action="Warning" />
<Rule Id="C6509" Action="Warning" />
<Rule Id="C6510" Action="Warning" />
<Rule Id="C6511" Action="Warning" />
<Rule Id="C6513" Action="Warning" />
<Rule Id="C6514" Action="Warning" />
<Rule Id="C6515" Action="Warning" />
<Rule Id="C6516" Action="Warning" />
<Rule Id="C6517" Action="Warning" />
<Rule Id="C6518" Action="Warning" />
<Rule Id="C6522" Action="Warning" />
<Rule Id="C6525" Action="Warning" />
<Rule Id="C6527" Action="Warning" />
<Rule Id="C6530" Action="Warning" />
<Rule Id="C6540" Action="Warning" />
<Rule Id="C6551" Action="Warning" />
<Rule Id="C6552" Action="Warning" />
<Rule Id="C6701" Action="Warning" />
<Rule Id="C6702" Action="Warning" />
<Rule Id="C6703" Action="Warning" />
<Rule Id="C6704" Action="Warning" />
<Rule Id="C6705" Action="Warning" />
<Rule Id="C6706" Action="Warning" />
<Rule Id="C6707" Action="Warning" />
<Rule Id="C6993" Action="Warning" />
<Rule Id="C6995" Action="Warning" />
<Rule Id="C6997" Action="Warning" />
</Rules>
<Rules AnalyzerId="PublicApiAnalyzer" RuleNamespace="PublicApiAnalyzer">
<Rule Id="RS0016" Action="Error" />
<Rule Id="RS0017" Action="Error" />
<Rule Id="RS0022" Action="Error" />
<Rule Id="RS0024" Action="Error" />
<Rule Id="RS0025" Action="Error" />
</Rules>
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="SA1000" Action="Error" />
<Rule Id="SA1001" Action="Error" />
<Rule Id="SA1002" Action="Error" />
<Rule Id="SA1003" Action="Error" />
<Rule Id="SA1004" Action="Error" />
<Rule Id="SA1005" Action="Error" />
<Rule Id="SA1006" Action="Error" />
<Rule Id="SA1007" Action="Error" />
<Rule Id="SA1008" Action="Error" />
<Rule Id="SA1009" Action="Error" />
<Rule Id="SA1010" Action="Error" />
<Rule Id="SA1011" Action="Error" />
<Rule Id="SA1012" Action="Error" />
<Rule Id="SA1013" Action="Error" />
<Rule Id="SA1014" Action="Error" />
<Rule Id="SA1015" Action="Error" />
<Rule Id="SA1016" Action="Error" />
<Rule Id="SA1017" Action="Error" />
<Rule Id="SA1018" Action="Error" />
<Rule Id="SA1019" Action="Error" />
<Rule Id="SA1020" Action="Error" />
<Rule Id="SA1021" Action="Error" />
<Rule Id="SA1022" Action="Error" />
<Rule Id="SA1023" Action="Error" />
<Rule Id="SA1024" Action="Error" />
<Rule Id="SA1025" Action="Error" />
<Rule Id="SA1026" Action="Error" />
<Rule Id="SA1027" Action="Error" />
<Rule Id="SA1028" Action="None" />
<Rule Id="SA1100" Action="Error" />
<Rule Id="SA1101" Action="Error" />
<Rule Id="SA1102" Action="Error" />
<Rule Id="SA1103" Action="Error" />
<Rule Id="SA1104" Action="Error" />
<Rule Id="SA1105" Action="Error" />
<Rule Id="SA1106" Action="Error" />
<Rule Id="SA1107" Action="Error" />
<Rule Id="SA1108" Action="Error" />
<Rule Id="SA1110" Action="Error" />
<Rule Id="SA1111" Action="Error" />
<Rule Id="SA1112" Action="Error" />
<Rule Id="SA1113" Action="None" />
<Rule Id="SA1114" Action="None" />
<Rule Id="SA1115" Action="Error" />
<Rule Id="SA1116" Action="None" />
<Rule Id="SA1117" Action="None" />
<Rule Id="SA1118" Action="None" />
<Rule Id="SA1119" Action="Error" />
<Rule Id="SA1120" Action="Error" />
<Rule Id="SA1121" Action="None" />
<Rule Id="SA1122" Action="Error" />
<Rule Id="SA1123" Action="Error" />
<Rule Id="SA1124" Action="None" />
<Rule Id="SA1125" Action="Error" />
<Rule Id="SA1127" Action="None" />
<Rule Id="SA1128" Action="None" />
<Rule Id="SA1129" Action="None" />
<Rule Id="SA1130" Action="Error" />
<Rule Id="SA1131" Action="None" />
<Rule Id="SA1132" Action="None" />
<Rule Id="SA1133" Action="Error" />
<Rule Id="SA1134" Action="None" />
<Rule Id="SA1200" Action="Error" />
<Rule Id="SA1201" Action="Error" />
<Rule Id="SA1202" Action="Error" />
<Rule Id="SA1203" Action="Error" />
<Rule Id="SA1204" Action="Error" />
<Rule Id="SA1205" Action="Error" />
<Rule Id="SA1206" Action="Error" />
<Rule Id="SA1207" Action="Error" />
<Rule Id="SA1208" Action="Error" />
<Rule Id="SA1209" Action="Error" />
<Rule Id="SA1210" Action="Error" />
<Rule Id="SA1211" Action="Error" />
<Rule Id="SA1212" Action="Error" />
<Rule Id="SA1213" Action="Error" />
<Rule Id="SA1214" Action="Error" />
<Rule Id="SA1216" Action="Error" />
<Rule Id="SA1217" Action="Error" />
<Rule Id="SA1300" Action="Error" />
<Rule Id="SA1302" Action="Error" />
<Rule Id="SA1303" Action="Error" />
<Rule Id="SA1304" Action="Error" />
<Rule Id="SA1306" Action="Error" />
<Rule Id="SA1307" Action="Error" />
<Rule Id="SA1308" Action="Error" />
<Rule Id="SA1309" Action="Error" />
<Rule Id="SA1310" Action="Error" />
<Rule Id="SA1311" Action="Error" />
<Rule Id="SA1312" Action="Error" />
<Rule Id="SA1313" Action="Error" />
<Rule Id="SA1400" Action="Error" />
<Rule Id="SA1401" Action="None" />
<Rule Id="SA1402" Action="Error" />
<Rule Id="SA1403" Action="Error" />
<Rule Id="SA1404" Action="Error" />
<Rule Id="SA1405" Action="Error" />
<Rule Id="SA1406" Action="Error" />
<Rule Id="SA1407" Action="Error" />
<Rule Id="SA1408" Action="Error" />
<Rule Id="SA1410" Action="Error" />
<Rule Id="SA1411" Action="Error" />
<Rule Id="SA1500" Action="Error" />
<Rule Id="SA1501" Action="Error" />
<Rule Id="SA1502" Action="Error" />
<Rule Id="SA1503" Action="Error" />
<Rule Id="SA1504" Action="Error" />
<Rule Id="SA1505" Action="Error" />
<Rule Id="SA1506" Action="Error" />
<Rule Id="SA1507" Action="Error" />
<Rule Id="SA1508" Action="Error" />
<Rule Id="SA1509" Action="Error" />
<Rule Id="SA1510" Action="Error" />
<Rule Id="SA1511" Action="Error" />
<Rule Id="SA1512" Action="None" />
<Rule Id="SA1513" Action="Error" />
<Rule Id="SA1514" Action="Error" />
<Rule Id="SA1515" Action="None" />
<Rule Id="SA1516" Action="Error" />
<Rule Id="SA1517" Action="Error" />
<Rule Id="SA1518" Action="Error" />
<Rule Id="SA1519" Action="Error" />
<Rule Id="SA1520" Action="Error" />
<Rule Id="SA1600" Action="None" />
<Rule Id="SA1601" Action="Error" />
<Rule Id="SA1602" Action="Error" />
<Rule Id="SA1604" Action="Error" />
<Rule Id="SA1605" Action="Error" />
<Rule Id="SA1606" Action="Error" />
<Rule Id="SA1607" Action="Error" />
<Rule Id="SA1608" Action="Error" />
<Rule Id="SA1610" Action="Error" />
<Rule Id="SA1611" Action="None" />
<Rule Id="SA1612" Action="Error" />
<Rule Id="SA1613" Action="Error" />
<Rule Id="SA1614" Action="Error" />
<Rule Id="SA1615" Action="None" />
<Rule Id="SA1616" Action="Error" />
<Rule Id="SA1617" Action="Error" />
<Rule Id="SA1618" Action="None" />
<Rule Id="SA1619" Action="Error" />
<Rule Id="SA1620" Action="Error" />
<Rule Id="SA1621" Action="Error" />
<Rule Id="SA1622" Action="Error" />
<Rule Id="SA1623" Action="Error" />
<Rule Id="SA1624" Action="Error" />
<Rule Id="SA1625" Action="Error" />
<Rule Id="SA1626" Action="Error" />
<Rule Id="SA1627" Action="Error" />
<Rule Id="SA1633" Action="None" />
<Rule Id="SA1634" Action="Error" />
<Rule Id="SA1635" Action="Error" />
<Rule Id="SA1636" Action="None" />
<Rule Id="SA1637" Action="Error" />
<Rule Id="SA1638" Action="Error" />
<Rule Id="SA1640" Action="Error" />
<Rule Id="SA1641" Action="Error" />
<Rule Id="SA1642" Action="None" />
<Rule Id="SA1643" Action="Error" />
<Rule Id="SA1648" Action="Error" />
<Rule Id="SA1649" Action="Error" />
<Rule Id="SA1651" Action="Error" />
<Rule Id="SA1652" Action="Error" />
</Rules>
</RuleSet>

Просмотреть файл

@ -23,7 +23,7 @@
</PropertyGroup>
<PropertyGroup>
<CodeAnalysisRuleSet>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'ApplicationInsightsSDKRules.ruleset'))\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet>$(RulesetsRoot)\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release' and '$(TargetFramework)'!='netstandard2.0'">

Просмотреть файл

@ -1,194 +0,0 @@
Param(
[Parameter(Mandatory=$true,HelpMessage="Path to Artifact files (nupkg):")]
[string]
$artifactsPath,
[Parameter(Mandatory=$true,HelpMessage="Path to Source files (changelog):")]
[string]
$sourcePath,
[Parameter(Mandatory=$false,HelpMessage="Path to save metadata:")]
[string]
$outPath
)
class PackageInfo {
[string]$Name
[string]$NuspecVersion
[string]$DllVersion
[string]$MyGetUri
PackageInfo([string]$name, [string]$nuspecVersion, [string]$dllVersion) {
$this.Name = $name
$this.NuspecVersion = $nuspecVersion
$this.DllVersion = $dllVersion
$mygetBasePath = "https://www.myget.org/feed/applicationinsights/package/nuget/{0}/{1}"
$this.MyGetUri = $mygetBasePath -f $name, $nuspecVersion
}
}
class ReleaseInfo {
[string]$ReleaseName
[string]$ReleaseVersion
[string]$NuspecVersion
[string]$FormattedReleaseName
[bool]$IsPreRelease
[string]$CommitId
[string]$ChangeLog
[PackageInfo[]]$Packages
}
Function Get-GitChangeset() {
# if running localy, use git command. for VSTS, probably better to use Build.SourceVersion
# Git command only works if this script executes in the repo's directory
[string]$commit = ""
try {
$commit = $(Build.SourceVersion)
} catch {
try {
$commit = git log -1 --format=%H
} catch {
$commit = "not found"
}
}
Write-Host "Git Commit: $commit"
return [string]$commit
}
function Get-NuspecVersionName ([string]$version) {
# get everything up to word "-build" (ex: "1.2.3-beta1-build1234 returns: "1.2.3-beta1")
# get everything (ex: "1.2.3-beta1 returns: "1.2.3-beta1")
# get everything (ex: "1.2.3 returns: "1.2.3")
$splitVersion = $version.split('-')
if($splitVersion.Length -gt 2 ) {
return $splitVersion[0]+"-"+$splitVersion[1]
} else {
return $version
}
}
function Invoke-UnZip([string]$zipfile, [string]$outpath) {
Write-Verbose "Unzip - source: $zipfile"
Write-Verbose "Unzip - target: $outpath"
Add-Type -assembly "system.io.compression.filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
}
function Get-PackageInfoFromNupkg([string]$nupkgPath) {
$unzipPath = $nupkgPath+"_unzip"
$null = Invoke-UnZip $nupkgPath $unzipPath
$nuspecPath = Get-ChildItem -Path $unzipPath -Recurse -Filter *.nuspec | Select-Object -First 1
Write-Verbose ("Found Nuspec: " + $nuspecPath.FullName)
[xml]$nuspec = Get-Content $nuspecPath.FullName
$name = $nuspec.package.metadata.id
$nuspecVersion = $nuspec.package.metadata.version
$dllPath = Get-ChildItem -Path $unzipPath -Recurse -Filter *.dll | Select-Object -First 1
Write-Verbose ("Found Dll: " + $dllPath.FullName)
$dllVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($dllPath.FullName).FileVersion
return [PackageInfo]::new($name, $nuspecVersion, $dllVersion)
}
function Get-ReleaseMetaData ([string]$artifactsPath, [string]$sourcePath) {
$object = [ReleaseInfo]::new()
$object.CommitId = Get-GitChangeset
$object.Packages = $()
Get-ChildItem -Path $artifactsPath -Recurse -Filter *.nupkg -Exclude *.symbols.nupkg |
ForEach-Object { $object.Packages += Get-PackageInfoFromNupkg $_.FullName }
$object.NuspecVersion = $object.Packages[0].NuspecVersion
$object.ReleaseName = Get-NuspecVersionName($object.Packages[0].NuspecVersion)
$object.ReleaseVersion = $object.Packages[0].DllVersion
$object.FormattedReleaseName = "$($object.ReleaseName) ($($object.ReleaseVersion))"
$object.IsPreRelease = [bool]($object.ReleaseName -like "*beta*")
$object.ChangeLog = Get-ChangelogText $sourcePath $object.ReleaseName
return $object
}
Function Get-ChangelogText ([string]$sourcePath, [string]$versionName) {
$sb = [System.Text.StringBuilder]::new()
$saveLines = $false
$readFile = $true
$changelogPath = Get-ChildItem -Path $sourcePath -Recurse -Filter changelog.md | Select-Object -First 1
Write-Verbose "Changelog Found: $changelogPath"
Get-Content -Path $changelogPath.FullName | ForEach-Object {
if($readFile) {
if($saveLines) {
if($_ -like "##*") {
Write-Verbose "STOP at $_"
$readFile = $false
}
if($readFile) {
[void]$sb.AppendLine($_)
}
} else {
if(($_ -like "##*") -and ($_ -match $versionName)) {
$saveLines = $true
Write-Verbose "START at $_"
}
}
}
}
return $sb.ToString()
}
Function Save-ToXml([string]$outPath, [ReleaseInfo]$object) {
$outFilePath = Join-Path $outPath "releaseMetaData.xml"
$xmlWriter = [System.XMl.XmlTextWriter]::new($outFilePath, $Null)
$xmlWriter.Formatting = "Indented"
$xmlWriter.Indentation = 1
$XmlWriter.IndentChar = "`t"
# write the header
$xmlWriter.WriteStartDocument()
# create root node:
$xmlWriter.WriteStartElement("MetaData")
$XmlWriter.WriteElementString("ReleaseName", $object.ReleaseName)
$XmlWriter.WriteElementString("ReleaseVersion", $object.ReleaseVersion)
$XmlWriter.WriteElementString("FormattedReleaseName", $object.FormattedReleaseName)
$XmlWriter.WriteElementString("NuspecVersion", $object.NuspecVersion)
$XmlWriter.WriteElementString("IsPreRelease", $object.IsPreRelease)
$XmlWriter.WriteElementString("CommitId", $object.CommitId)
$XmlWriter.WriteElementString("ChangeLog", $object.ChangeLog)
$XmlWriter.WriteStartElement("Packages")
$object.Packages | ForEach-Object {
$XmlWriter.WriteStartElement("Package")
$XmlWriter.WriteElementString("Name", $_.Name)
$XmlWriter.WriteElementString("NuspecVersion", $_.NuspecVersion)
$XmlWriter.WriteElementString("DllVersion", $_.DllVersion)
$XmlWriter.WriteElementString("MyGetUri", $_.MyGetUri)
$XmlWriter.WriteEndElement()
}
$XmlWriter.WriteEndElement()
# close the root node:
$xmlWriter.WriteEndElement()
# finalize the document:
$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()
}
# 1) GET META DATA FROM ARTIFACTS
$metaData = Get-ReleaseMetaData $artifactsPath $sourcePath
Write-Output $metaData
$metaData.Packages | ForEach-Object { Write-Output $_ }
# 2) SAVE
Save-ToXml $outPath $metaData

Просмотреть файл

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="SDL Recommended Rules" Description="These rules focus on the most critical security problems in your code. You should include this rule set in any custom rule set you create for your projects." ToolsVersion="14.0">
<Rules AnalyzerId="Desktop.CSharp.Analyzers" RuleNamespace="Desktop.CSharp.Analyzers">
<Rule Id="CA1001" Action="Warning" />
<Rule Id="CA1009" Action="Warning" />
<Rule Id="CA1016" Action="Warning" />
<Rule Id="CA1033" Action="Warning" />
<Rule Id="CA1049" Action="Warning" />
<Rule Id="CA1060" Action="Warning" />
<Rule Id="CA1061" Action="Warning" />
<Rule Id="CA1063" Action="Warning" />
<Rule Id="CA1065" Action="Warning" />
<Rule Id="CA1301" Action="Warning" />
<Rule Id="CA1400" Action="Warning" />
<Rule Id="CA1401" Action="Warning" />
<Rule Id="CA1403" Action="Warning" />
<Rule Id="CA1404" Action="Warning" />
<Rule Id="CA1405" Action="Warning" />
<Rule Id="CA1410" Action="Warning" />
<Rule Id="CA1415" Action="Warning" />
<Rule Id="CA1821" Action="Warning" />
<Rule Id="CA1900" Action="Warning" />
<Rule Id="CA1901" Action="Warning" />
<Rule Id="CA2002" Action="Warning" />
<Rule Id="CA2100" Action="Warning" />
<Rule Id="CA2101" Action="Warning" />
<Rule Id="CA2108" Action="Warning" />
<Rule Id="CA2111" Action="Warning" />
<Rule Id="CA2112" Action="Warning" />
<Rule Id="CA2114" Action="Warning" />
<Rule Id="CA2116" Action="Warning" />
<Rule Id="CA2117" Action="Warning" />
<Rule Id="CA2122" Action="Warning" />
<Rule Id="CA2123" Action="Warning" />
<Rule Id="CA2124" Action="Warning" />
<Rule Id="CA2126" Action="Warning" />
<Rule Id="CA2131" Action="Warning" />
<Rule Id="CA2132" Action="Warning" />
<Rule Id="CA2133" Action="Warning" />
<Rule Id="CA2134" Action="Warning" />
<Rule Id="CA2137" Action="Warning" />
<Rule Id="CA2138" Action="Warning" />
<Rule Id="CA2140" Action="Warning" />
<Rule Id="CA2141" Action="Warning" />
<Rule Id="CA2146" Action="Warning" />
<Rule Id="CA2147" Action="Warning" />
<Rule Id="CA2149" Action="Warning" />
<Rule Id="CA2200" Action="Warning" />
<Rule Id="CA2202" Action="Warning" />
<Rule Id="CA2207" Action="Warning" />
<Rule Id="CA2212" Action="Warning" />
<Rule Id="CA2213" Action="Warning" />
<Rule Id="CA2214" Action="Warning" />
<Rule Id="CA2216" Action="Warning" />
<Rule Id="CA2220" Action="Warning" />
<Rule Id="CA2229" Action="Warning" />
<Rule Id="CA2231" Action="Warning" />
<Rule Id="CA2232" Action="Warning" />
<Rule Id="CA2235" Action="Warning" />
<Rule Id="CA2236" Action="Warning" />
<Rule Id="CA2237" Action="Warning" />
<Rule Id="CA2238" Action="Warning" />
<Rule Id="CA2240" Action="Warning" />
<Rule Id="CA2241" Action="Warning" />
<Rule Id="CA2242" Action="Warning" />
<Rule Id="CA2153" Action="Warning" />
<Rule Id="CA3075" Action="Warning" />
<Rule Id="CA3076" Action="Warning" />
<Rule Id="CA3077" Action="Warning" />
<Rule Id="CA5350" Action="Warning" />
<Rule Id="CA5351" Action="Warning" />
</Rules>
</RuleSet>

Просмотреть файл

@ -13,7 +13,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Solution Items", ".Solutio
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
AddXmlLanguage.targets = AddXmlLanguage.targets
ApplicationInsightsSDKRules.ruleset = ApplicationInsightsSDKRules.ruleset
CHANGELOG.md = CHANGELOG.md
CodeCov.ps1 = CodeCov.ps1
Common.props = Common.props

Просмотреть файл

@ -1,92 +0,0 @@
[CmdletBinding()]
Param(
# C:\Repos\bin\Debug\Src
[string]$buildDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "bin\Debug") ,
# C:\Repos\fxCop
[string]$fxCopDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "fxCop")
)
function IsFileDependency {
[CmdletBinding()]
param
(
$file
)
$dependencyFiles | ForEach-Object {
if($file.Name -eq $_) {
return $true;
}
}
return $false;
}
# these are dlls that end up in the bin, but do not belong to us and don't need to be scanned.
$excludedFiles = @();
$dependencyFiles = @("System.Diagnostics.DiagnosticSource.dll");
Write-Host "`nPARAMETERS:";
Write-Host "`tbuildDirectory:" $buildDirectory;
Write-Host "`tfxCopDirectory:" $fxCopDirectory;
$fxCopTargetDir = Join-Path -Path $fxCopDirectory -ChildPath "target";
$fxCopDependenciesDir = Join-Path -Path $fxCopDirectory -ChildPath "dependencies";
$frameworks = @("net45", "net46", "netstandard1.3");
# don't need to clean folder on build server, but is needed for local dev
Write-Host "`nCreate FxCop Directory...";
if (Test-Path $fxCopDirectory) { Remove-Item $fxCopDirectory -Recurse; }
# copy all
Write-Host "`nCopy all files (excluding 'Test' directories)...";
Get-ChildItem -Path $buildDirectory -Recurse -File -Include *.dll, *.pdb |
ForEach-Object {
$file = $_;
# exclude test files
if ($file.Directory -match "Test") {
return;
}
#find matching framework
$frameworks | ForEach-Object {
if($file.Directory -match $_) {
$framework = $_;
#is this file a dependency
if (IsFileDependency($file)) {
Copy-Item $file.FullName -Destination (New-Item (Join-Path -Path $fxCopDependenciesDir -ChildPath $framework) -Type container -Force) -Force;
} else {
Copy-Item $file.FullName -Destination (New-Item (Join-Path -Path $fxCopTargetDir -ChildPath $framework) -Type container -Force) -Force;
}
}
}
}
# delete excluded files
if ($excludedFiles.Count -gt 0) {
Write-Host "`nDelete excluded files...";
Get-ChildItem -Path $fxCopDirectory -Recurse -File |
ForEach-Object {
if ($excludedFiles.Contains($_.Name)) {
Write-Host "Excluded File:" $_.FullName;
Remove-Item $_.FullName;
}
}
}
# summary for log output (file list and count)
Write-Host "`nCopied Files:";
$count = 0;
Get-ChildItem -Path $fxCopDirectory -Recurse -File |
ForEach-Object {
Write-Host "`t"$_.FullName;
$count++;
}
Write-Host "`nTOTAL FILES:" $count;

Просмотреть файл

@ -1,2 +0,0 @@
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\sn.exe" -Vr *,31bf3856ad364e35
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe" -Vr *,31bf3856ad364e35

Просмотреть файл

@ -1,2 +0,0 @@
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\sn.exe" -Vu *,31bf3856ad364e35
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe" -Vu *,31bf3856ad364e35

Просмотреть файл

@ -209,10 +209,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApi20.FunctionalTests20"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApplicationInsightsTypes", "NETCORE\test\ApplicationInsightsTypes\ApplicationInsightsTypes.csproj", "{3D7258E3-5DDC-45A4-A457-9AA3BCC92DE7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApp30", "NETCORE\test\TestApp30\TestApp30.csproj", "{E9D9D625-D7C0-4DDE-8701-ED7747D4B96E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApp30.Tests30", "NETCORE\test\TestApp30.Tests\TestApp30.Tests30.csproj", "{72489742-5F18-4C99-889E-3A8102D8AC42}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
WEB\Src\PerformanceCollector\Perf.Shared.NetStandard20Net45\Perf.Shared.NetStandard20Net45.projitems*{054c25dc-e545-4712-95c4-81f30cf65ce8}*SharedItemsImports = 13
@ -488,14 +484,6 @@ Global
{3D7258E3-5DDC-45A4-A457-9AA3BCC92DE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D7258E3-5DDC-45A4-A457-9AA3BCC92DE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D7258E3-5DDC-45A4-A457-9AA3BCC92DE7}.Release|Any CPU.Build.0 = Release|Any CPU
{E9D9D625-D7C0-4DDE-8701-ED7747D4B96E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E9D9D625-D7C0-4DDE-8701-ED7747D4B96E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E9D9D625-D7C0-4DDE-8701-ED7747D4B96E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E9D9D625-D7C0-4DDE-8701-ED7747D4B96E}.Release|Any CPU.Build.0 = Release|Any CPU
{72489742-5F18-4C99-889E-3A8102D8AC42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{72489742-5F18-4C99-889E-3A8102D8AC42}.Debug|Any CPU.Build.0 = Debug|Any CPU
{72489742-5F18-4C99-889E-3A8102D8AC42}.Release|Any CPU.ActiveCfg = Release|Any CPU
{72489742-5F18-4C99-889E-3A8102D8AC42}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -577,8 +565,6 @@ Global
{12660582-2FB1-4849-85CB-1C42FA0E2C7C} = {E9AEB857-E8AA-4ED6-A020-DF4D8486CEB0}
{4871B8AC-FB79-4D3D-940D-80E796110359} = {E9AEB857-E8AA-4ED6-A020-DF4D8486CEB0}
{3D7258E3-5DDC-45A4-A457-9AA3BCC92DE7} = {E9AEB857-E8AA-4ED6-A020-DF4D8486CEB0}
{E9D9D625-D7C0-4DDE-8701-ED7747D4B96E} = {E9AEB857-E8AA-4ED6-A020-DF4D8486CEB0}
{72489742-5F18-4C99-889E-3A8102D8AC42} = {E9AEB857-E8AA-4ED6-A020-DF4D8486CEB0}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0E0415AF-37CC-4999-8E5B-DD36F75BFD4D}

Просмотреть файл

@ -0,0 +1,7 @@
# Net Core Integration Tests
Integration Tests are fundamentally different than Unit Tests.
Unlike Unit Tests, these cannot be run as a standalone DLL and must be run in the context of their project (*.csproj).
For more information please visit [Integration tests in ASP.NET Core](https://docs.microsoft.com/aspnet/core/test/integration-tests)
For the purpose of our build servers, please use this solution for all Integration Tests.

36
IntegrationTests.sln Normal file
Просмотреть файл

@ -0,0 +1,36 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29424.173
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApp30.Tests30", "NETCORE\test\TestApp30.Tests\TestApp30.Tests30.csproj", "{A0FBD783-55E4-4B8F-993A-DFA3248EBFBA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApp30", "NETCORE\test\TestApp30\TestApp30.csproj", "{EA160527-1F9B-449C-A0B3-D07A47C4FDB9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Solution Items", ".Solution Items", "{81C43018-3373-4B85-9A00-5BBA2BC8C749}"
ProjectSection(SolutionItems) = preProject
IntegrationTests.Readme.md = IntegrationTests.Readme.md
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A0FBD783-55E4-4B8F-993A-DFA3248EBFBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0FBD783-55E4-4B8F-993A-DFA3248EBFBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A0FBD783-55E4-4B8F-993A-DFA3248EBFBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A0FBD783-55E4-4B8F-993A-DFA3248EBFBA}.Release|Any CPU.Build.0 = Release|Any CPU
{EA160527-1F9B-449C-A0B3-D07A47C4FDB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA160527-1F9B-449C-A0B3-D07A47C4FDB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA160527-1F9B-449C-A0B3-D07A47C4FDB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA160527-1F9B-449C-A0B3-D07A47C4FDB9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0E0415AF-37CC-4999-8E5B-DD36F75BFD4D}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,630 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="ApplicationInsights SDK Rules" Description="These rules focus on the most critical problems in your code, including potential security holes, application crashes, and other important logic and design errors. It is recommended to include this rule set in any custom rule set you create for your projects. These include a combination of Microsoft Managed Recommended Rules and DevDivRuleSet for Microbuild." ToolsVersion="15.0">
<Localization ResourceAssembly="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.dll" ResourceBaseName="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.Localized">
<Name Resource="ApplicationInsightsSDKRules_Name" />
<Description Resource="ApplicationInsightsSDKRules_Description" />
</Localization>
<Include Path="microsoft-security-recommended.ruleset" Action="Default" />
<Include Path="minimumrecommendedrules.ruleset" Action="Default" />
<Include Path="securityrules.ruleset" Action="Default" />
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1001" Action="Warning" />
<Rule Id="CA1009" Action="Warning" />
<Rule Id="CA1016" Action="Warning" />
<!-- Suppressing Message "Modify 'method' to catch a more specific exception type, or rethrow the exception" because we already catch Exceptions we care about and either log/ignore others. -->
<Rule Id="CA1031" Action="None" />
<Rule Id="CA1033" Action="Warning" />
<Rule Id="CA1049" Action="Warning" />
<Rule Id="CA1060" Action="Warning" />
<Rule Id="CA1061" Action="Warning" />
<Rule Id="CA1063" Action="Warning" />
<Rule Id="CA1065" Action="Warning" />
<Rule Id="CA1304" Action="Warning" />
<Rule Id="CA1305" Action="Warning" />
<Rule Id="CA1307" Action="Warning" />
<Rule Id="CA1309" Action="Warning" />
<Rule Id="CA1401" Action="Warning" />
<Rule Id="CA1403" Action="Warning" />
<Rule Id="CA1405" Action="Warning" />
<Rule Id="CA1410" Action="Warning" />
<!-- Suppressing Message "Identifiers should not match keywords" because class TplActivities is part of our public api and can't be changed -->
<Rule Id="CA1716" Action="None" />
<Rule Id="CA1821" Action="Warning" />
<Rule Id="CA1900" Action="Warning" />
<Rule Id="CA2001" Action="Warning" />
<Rule Id="CA2002" Action="Warning" />
<!-- Suppressing Message "Do not create tasks without passing a TaskScheduler" because framework manages this by default -->
<Rule Id="CA2008" Action="None" />
<Rule Id="CA2100" Action="Warning" />
<Rule Id="CA2102" Action="Warning" />
<Rule Id="CA2103" Action="Warning" />
<Rule Id="CA2104" Action="Warning" />
<Rule Id="CA2105" Action="Warning" />
<Rule Id="CA2106" Action="Warning" />
<Rule Id="CA2107" Action="Warning" />
<Rule Id="CA2108" Action="Warning" />
<Rule Id="CA2109" Action="Warning" />
<Rule Id="CA2111" Action="Warning" />
<Rule Id="CA2112" Action="Warning" />
<Rule Id="CA2114" Action="Warning" />
<Rule Id="CA2115" Action="Warning" />
<Rule Id="CA2116" Action="Warning" />
<Rule Id="CA2117" Action="Warning" />
<Rule Id="CA2118" Action="Warning" />
<Rule Id="CA2119" Action="Warning" />
<Rule Id="CA2120" Action="Warning" />
<Rule Id="CA2121" Action="Warning" />
<Rule Id="CA2122" Action="Warning" />
<Rule Id="CA2123" Action="Warning" />
<Rule Id="CA2124" Action="Warning" />
<Rule Id="CA2126" Action="Warning" />
<Rule Id="CA2130" Action="Warning" />
<Rule Id="CA2131" Action="Warning" />
<Rule Id="CA2132" Action="Warning" />
<Rule Id="CA2133" Action="Warning" />
<Rule Id="CA2134" Action="Warning" />
<Rule Id="CA2135" Action="Warning" />
<Rule Id="CA2136" Action="Warning" />
<Rule Id="CA2137" Action="Warning" />
<Rule Id="CA2138" Action="Warning" />
<Rule Id="CA2139" Action="Warning" />
<Rule Id="CA2140" Action="Warning" />
<Rule Id="CA2141" Action="Warning" />
<Rule Id="CA2142" Action="Warning" />
<Rule Id="CA2143" Action="Warning" />
<Rule Id="CA2144" Action="Warning" />
<Rule Id="CA2145" Action="Warning" />
<Rule Id="CA2146" Action="Warning" />
<Rule Id="CA2147" Action="Warning" />
<Rule Id="CA2149" Action="Warning" />
<Rule Id="CA2151" Action="Warning" />
<Rule Id="CA2200" Action="Warning" />
<Rule Id="CA2202" Action="Warning" />
<Rule Id="CA2207" Action="Warning" />
<Rule Id="CA2210" Action="None" />
<Rule Id="CA2212" Action="Warning" />
<Rule Id="CA2213" Action="Warning" />
<Rule Id="CA2214" Action="Warning" />
<Rule Id="CA2216" Action="Warning" />
<Rule Id="CA2219" Action="Warning" />
<Rule Id="CA2220" Action="Warning" />
<Rule Id="CA2229" Action="Warning" />
<Rule Id="CA2231" Action="Warning" />
<Rule Id="CA2232" Action="Warning" />
<Rule Id="CA2233" Action="Warning" />
<Rule Id="CA2234" Action="Warning" />
<Rule Id="CA2235" Action="Warning" />
<Rule Id="CA2236" Action="Warning" />
<Rule Id="CA2237" Action="Warning" />
<Rule Id="CA2238" Action="Warning" />
<Rule Id="CA2240" Action="Warning" />
<Rule Id="CA2241" Action="Warning" />
<Rule Id="CA2242" Action="Warning" />
<Rule Id="CA5122" Action="Warning" />
</Rules>
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<Rule Id="C26100" Action="Warning" />
<Rule Id="C26101" Action="Warning" />
<Rule Id="C26105" Action="Warning" />
<Rule Id="C26110" Action="Warning" />
<Rule Id="C26111" Action="Warning" />
<Rule Id="C26112" Action="Warning" />
<Rule Id="C26115" Action="Warning" />
<Rule Id="C26116" Action="Warning" />
<Rule Id="C26117" Action="Warning" />
<Rule Id="C26130" Action="Warning" />
<Rule Id="C26135" Action="Warning" />
<Rule Id="C26140" Action="Warning" />
<Rule Id="C26160" Action="Warning" />
<Rule Id="C26165" Action="Warning" />
<Rule Id="C26166" Action="Warning" />
<Rule Id="C26167" Action="Warning" />
<Rule Id="C28020" Action="Warning" />
<Rule Id="C28021" Action="Warning" />
<Rule Id="C28022" Action="Warning" />
<Rule Id="C28023" Action="Warning" />
<Rule Id="C28024" Action="Warning" />
<Rule Id="C28039" Action="Warning" />
<Rule Id="C28101" Action="Warning" />
<Rule Id="C28103" Action="Warning" />
<Rule Id="C28104" Action="Warning" />
<Rule Id="C28105" Action="Warning" />
<Rule Id="C28106" Action="Warning" />
<Rule Id="C28107" Action="Warning" />
<Rule Id="C28108" Action="Warning" />
<Rule Id="C28109" Action="Warning" />
<Rule Id="C28110" Action="Warning" />
<Rule Id="C28111" Action="Warning" />
<Rule Id="C28112" Action="Warning" />
<Rule Id="C28113" Action="Warning" />
<Rule Id="C28114" Action="Warning" />
<Rule Id="C28120" Action="Warning" />
<Rule Id="C28121" Action="Warning" />
<Rule Id="C28122" Action="Warning" />
<Rule Id="C28123" Action="Warning" />
<Rule Id="C28124" Action="Warning" />
<Rule Id="C28125" Action="Warning" />
<Rule Id="C28126" Action="Warning" />
<Rule Id="C28127" Action="Warning" />
<Rule Id="C28128" Action="Warning" />
<Rule Id="C28129" Action="Warning" />
<Rule Id="C28131" Action="Warning" />
<Rule Id="C28132" Action="Warning" />
<Rule Id="C28133" Action="Warning" />
<Rule Id="C28134" Action="Warning" />
<Rule Id="C28135" Action="Warning" />
<Rule Id="C28137" Action="Warning" />
<Rule Id="C28138" Action="Warning" />
<Rule Id="C28141" Action="Warning" />
<Rule Id="C28143" Action="Warning" />
<Rule Id="C28144" Action="Warning" />
<Rule Id="C28145" Action="Warning" />
<Rule Id="C28146" Action="Warning" />
<Rule Id="C28147" Action="Warning" />
<Rule Id="C28150" Action="Warning" />
<Rule Id="C28151" Action="Warning" />
<Rule Id="C28152" Action="Warning" />
<Rule Id="C28153" Action="Warning" />
<Rule Id="C28156" Action="Warning" />
<Rule Id="C28157" Action="Warning" />
<Rule Id="C28158" Action="Warning" />
<Rule Id="C28159" Action="Warning" />
<Rule Id="C28160" Action="Warning" />
<Rule Id="C28161" Action="Warning" />
<Rule Id="C28162" Action="Warning" />
<Rule Id="C28163" Action="Warning" />
<Rule Id="C28164" Action="Warning" />
<Rule Id="C28165" Action="Warning" />
<Rule Id="C28166" Action="Warning" />
<Rule Id="C28167" Action="Warning" />
<Rule Id="C28168" Action="Warning" />
<Rule Id="C28169" Action="Warning" />
<Rule Id="C28170" Action="Warning" />
<Rule Id="C28171" Action="Warning" />
<Rule Id="C28172" Action="Warning" />
<Rule Id="C28173" Action="Warning" />
<Rule Id="C28175" Action="Warning" />
<Rule Id="C28176" Action="Warning" />
<Rule Id="C28182" Action="Warning" />
<Rule Id="C28183" Action="Warning" />
<Rule Id="C28193" Action="Warning" />
<Rule Id="C28194" Action="Warning" />
<Rule Id="C28195" Action="Warning" />
<Rule Id="C28196" Action="Warning" />
<Rule Id="C28197" Action="Warning" />
<Rule Id="C28198" Action="Warning" />
<Rule Id="C28199" Action="Warning" />
<Rule Id="C28202" Action="Warning" />
<Rule Id="C28203" Action="Warning" />
<Rule Id="C28204" Action="Warning" />
<Rule Id="C28205" Action="Warning" />
<Rule Id="C28206" Action="Warning" />
<Rule Id="C28207" Action="Warning" />
<Rule Id="C28208" Action="Warning" />
<Rule Id="C28209" Action="Warning" />
<Rule Id="C28210" Action="Warning" />
<Rule Id="C28211" Action="Warning" />
<Rule Id="C28212" Action="Warning" />
<Rule Id="C28213" Action="Warning" />
<Rule Id="C28214" Action="Warning" />
<Rule Id="C28215" Action="Warning" />
<Rule Id="C28216" Action="Warning" />
<Rule Id="C28217" Action="Warning" />
<Rule Id="C28218" Action="Warning" />
<Rule Id="C28219" Action="Warning" />
<Rule Id="C28220" Action="Warning" />
<Rule Id="C28221" Action="Warning" />
<Rule Id="C28222" Action="Warning" />
<Rule Id="C28223" Action="Warning" />
<Rule Id="C28224" Action="Warning" />
<Rule Id="C28225" Action="Warning" />
<Rule Id="C28226" Action="Warning" />
<Rule Id="C28227" Action="Warning" />
<Rule Id="C28228" Action="Warning" />
<Rule Id="C28229" Action="Warning" />
<Rule Id="C28230" Action="Warning" />
<Rule Id="C28231" Action="Warning" />
<Rule Id="C28232" Action="Warning" />
<Rule Id="C28233" Action="Warning" />
<Rule Id="C28234" Action="Warning" />
<Rule Id="C28235" Action="Warning" />
<Rule Id="C28236" Action="Warning" />
<Rule Id="C28237" Action="Warning" />
<Rule Id="C28238" Action="Warning" />
<Rule Id="C28239" Action="Warning" />
<Rule Id="C28240" Action="Warning" />
<Rule Id="C28241" Action="Warning" />
<Rule Id="C28243" Action="Warning" />
<Rule Id="C28244" Action="Warning" />
<Rule Id="C28245" Action="Warning" />
<Rule Id="C28246" Action="Warning" />
<Rule Id="C28250" Action="Warning" />
<Rule Id="C28251" Action="Warning" />
<Rule Id="C28252" Action="Warning" />
<Rule Id="C28253" Action="Warning" />
<Rule Id="C28254" Action="Warning" />
<Rule Id="C28260" Action="Warning" />
<Rule Id="C28262" Action="Warning" />
<Rule Id="C28263" Action="Warning" />
<Rule Id="C28266" Action="Warning" />
<Rule Id="C28267" Action="Warning" />
<Rule Id="C28272" Action="Warning" />
<Rule Id="C28273" Action="Warning" />
<Rule Id="C28275" Action="Warning" />
<Rule Id="C28278" Action="Warning" />
<Rule Id="C28279" Action="Warning" />
<Rule Id="C28280" Action="Warning" />
<Rule Id="C28282" Action="Warning" />
<Rule Id="C28283" Action="Warning" />
<Rule Id="C28284" Action="Warning" />
<Rule Id="C28285" Action="Warning" />
<Rule Id="C28286" Action="Warning" />
<Rule Id="C28287" Action="Warning" />
<Rule Id="C28288" Action="Warning" />
<Rule Id="C28289" Action="Warning" />
<Rule Id="C28290" Action="Warning" />
<Rule Id="C28291" Action="Warning" />
<Rule Id="C28300" Action="Warning" />
<Rule Id="C28301" Action="Warning" />
<Rule Id="C28302" Action="Warning" />
<Rule Id="C28303" Action="Warning" />
<Rule Id="C28304" Action="Warning" />
<Rule Id="C28305" Action="Warning" />
<Rule Id="C28306" Action="Warning" />
<Rule Id="C28307" Action="Warning" />
<Rule Id="C28308" Action="Warning" />
<Rule Id="C28309" Action="Warning" />
<Rule Id="C28350" Action="Warning" />
<Rule Id="C28351" Action="Warning" />
<Rule Id="C28601" Action="Warning" />
<Rule Id="C28602" Action="Warning" />
<Rule Id="C28604" Action="Warning" />
<Rule Id="C28615" Action="Warning" />
<Rule Id="C28616" Action="Warning" />
<Rule Id="C28617" Action="Warning" />
<Rule Id="C28623" Action="Warning" />
<Rule Id="C28624" Action="Warning" />
<Rule Id="C28625" Action="Warning" />
<Rule Id="C28636" Action="Warning" />
<Rule Id="C28637" Action="Warning" />
<Rule Id="C28638" Action="Warning" />
<Rule Id="C28639" Action="Warning" />
<Rule Id="C28640" Action="Warning" />
<Rule Id="C28645" Action="Warning" />
<Rule Id="C28648" Action="Warning" />
<Rule Id="C28649" Action="Warning" />
<Rule Id="C28650" Action="Warning" />
<Rule Id="C28714" Action="Warning" />
<Rule Id="C28715" Action="Warning" />
<Rule Id="C28716" Action="Warning" />
<Rule Id="C28717" Action="Warning" />
<Rule Id="C28719" Action="Warning" />
<Rule Id="C28720" Action="Warning" />
<Rule Id="C28721" Action="Warning" />
<Rule Id="C28726" Action="Warning" />
<Rule Id="C28727" Action="Warning" />
<Rule Id="C28730" Action="Warning" />
<Rule Id="C28735" Action="Warning" />
<Rule Id="C28736" Action="Warning" />
<Rule Id="C28750" Action="Warning" />
<Rule Id="C28751" Action="Warning" />
<Rule Id="C6001" Action="Warning" />
<Rule Id="C6011" Action="Warning" />
<Rule Id="C6014" Action="Warning" />
<Rule Id="C6029" Action="Warning" />
<Rule Id="C6031" Action="Warning" />
<Rule Id="C6053" Action="Warning" />
<Rule Id="C6054" Action="Warning" />
<Rule Id="C6059" Action="Warning" />
<Rule Id="C6063" Action="Warning" />
<Rule Id="C6064" Action="Warning" />
<Rule Id="C6066" Action="Warning" />
<Rule Id="C6067" Action="Warning" />
<Rule Id="C6101" Action="Warning" />
<Rule Id="C6200" Action="Warning" />
<Rule Id="C6201" Action="Warning" />
<Rule Id="C6211" Action="Warning" />
<Rule Id="C6214" Action="Warning" />
<Rule Id="C6215" Action="Warning" />
<Rule Id="C6216" Action="Warning" />
<Rule Id="C6217" Action="Warning" />
<Rule Id="C6219" Action="Warning" />
<Rule Id="C6220" Action="Warning" />
<Rule Id="C6221" Action="Warning" />
<Rule Id="C6225" Action="Warning" />
<Rule Id="C6226" Action="Warning" />
<Rule Id="C6230" Action="Warning" />
<Rule Id="C6235" Action="Warning" />
<Rule Id="C6236" Action="Warning" />
<Rule Id="C6237" Action="Warning" />
<Rule Id="C6239" Action="Warning" />
<Rule Id="C6240" Action="Warning" />
<Rule Id="C6242" Action="Warning" />
<Rule Id="C6244" Action="Warning" />
<Rule Id="C6246" Action="Warning" />
<Rule Id="C6248" Action="Warning" />
<Rule Id="C6250" Action="Warning" />
<Rule Id="C6255" Action="Warning" />
<Rule Id="C6258" Action="Warning" />
<Rule Id="C6259" Action="Warning" />
<Rule Id="C6260" Action="Warning" />
<Rule Id="C6262" Action="Warning" />
<Rule Id="C6263" Action="Warning" />
<Rule Id="C6268" Action="Warning" />
<Rule Id="C6269" Action="Warning" />
<Rule Id="C6270" Action="Warning" />
<Rule Id="C6271" Action="Warning" />
<Rule Id="C6272" Action="Warning" />
<Rule Id="C6273" Action="Warning" />
<Rule Id="C6274" Action="Warning" />
<Rule Id="C6276" Action="Warning" />
<Rule Id="C6277" Action="Warning" />
<Rule Id="C6278" Action="Warning" />
<Rule Id="C6279" Action="Warning" />
<Rule Id="C6280" Action="Warning" />
<Rule Id="C6281" Action="Warning" />
<Rule Id="C6282" Action="Warning" />
<Rule Id="C6283" Action="Warning" />
<Rule Id="C6284" Action="Warning" />
<Rule Id="C6285" Action="Warning" />
<Rule Id="C6286" Action="Warning" />
<Rule Id="C6287" Action="Warning" />
<Rule Id="C6288" Action="Warning" />
<Rule Id="C6289" Action="Warning" />
<Rule Id="C6290" Action="Warning" />
<Rule Id="C6291" Action="Warning" />
<Rule Id="C6292" Action="Warning" />
<Rule Id="C6293" Action="Warning" />
<Rule Id="C6294" Action="Warning" />
<Rule Id="C6295" Action="Warning" />
<Rule Id="C6296" Action="Warning" />
<Rule Id="C6297" Action="Warning" />
<Rule Id="C6298" Action="Warning" />
<Rule Id="C6299" Action="Warning" />
<Rule Id="C6302" Action="Warning" />
<Rule Id="C6303" Action="Warning" />
<Rule Id="C6305" Action="Warning" />
<Rule Id="C6306" Action="Warning" />
<Rule Id="C6308" Action="Warning" />
<Rule Id="C6310" Action="Warning" />
<Rule Id="C6312" Action="Warning" />
<Rule Id="C6313" Action="Warning" />
<Rule Id="C6314" Action="Warning" />
<Rule Id="C6315" Action="Warning" />
<Rule Id="C6316" Action="Warning" />
<Rule Id="C6317" Action="Warning" />
<Rule Id="C6318" Action="Warning" />
<Rule Id="C6319" Action="Warning" />
<Rule Id="C6320" Action="Warning" />
<Rule Id="C6322" Action="Warning" />
<Rule Id="C6323" Action="Warning" />
<Rule Id="C6324" Action="Warning" />
<Rule Id="C6326" Action="Warning" />
<Rule Id="C6328" Action="Warning" />
<Rule Id="C6329" Action="Warning" />
<Rule Id="C6330" Action="Warning" />
<Rule Id="C6331" Action="Warning" />
<Rule Id="C6332" Action="Warning" />
<Rule Id="C6333" Action="Warning" />
<Rule Id="C6334" Action="Warning" />
<Rule Id="C6335" Action="Warning" />
<Rule Id="C6336" Action="Warning" />
<Rule Id="C6340" Action="Warning" />
<Rule Id="C6381" Action="Warning" />
<Rule Id="C6383" Action="Warning" />
<Rule Id="C6384" Action="Warning" />
<Rule Id="C6385" Action="Warning" />
<Rule Id="C6386" Action="Warning" />
<Rule Id="C6387" Action="Warning" />
<Rule Id="C6388" Action="Warning" />
<Rule Id="C6400" Action="Warning" />
<Rule Id="C6401" Action="Warning" />
<Rule Id="C6411" Action="Warning" />
<Rule Id="C6412" Action="Warning" />
<Rule Id="C6500" Action="Warning" />
<Rule Id="C6501" Action="Warning" />
<Rule Id="C6503" Action="Warning" />
<Rule Id="C6504" Action="Warning" />
<Rule Id="C6505" Action="Warning" />
<Rule Id="C6506" Action="Warning" />
<Rule Id="C6508" Action="Warning" />
<Rule Id="C6509" Action="Warning" />
<Rule Id="C6510" Action="Warning" />
<Rule Id="C6511" Action="Warning" />
<Rule Id="C6513" Action="Warning" />
<Rule Id="C6514" Action="Warning" />
<Rule Id="C6515" Action="Warning" />
<Rule Id="C6516" Action="Warning" />
<Rule Id="C6517" Action="Warning" />
<Rule Id="C6518" Action="Warning" />
<Rule Id="C6522" Action="Warning" />
<Rule Id="C6525" Action="Warning" />
<Rule Id="C6527" Action="Warning" />
<Rule Id="C6530" Action="Warning" />
<Rule Id="C6540" Action="Warning" />
<Rule Id="C6551" Action="Warning" />
<Rule Id="C6552" Action="Warning" />
<Rule Id="C6701" Action="Warning" />
<Rule Id="C6702" Action="Warning" />
<Rule Id="C6703" Action="Warning" />
<Rule Id="C6704" Action="Warning" />
<Rule Id="C6705" Action="Warning" />
<Rule Id="C6706" Action="Warning" />
<Rule Id="C6707" Action="Warning" />
<Rule Id="C6993" Action="Warning" />
<Rule Id="C6995" Action="Warning" />
<Rule Id="C6997" Action="Warning" />
</Rules>
<Rules AnalyzerId="PublicApiAnalyzer" RuleNamespace="PublicApiAnalyzer">
<Rule Id="RS0016" Action="Error" />
<Rule Id="RS0017" Action="Error" />
<Rule Id="RS0022" Action="Error" />
<Rule Id="RS0024" Action="Error" />
<Rule Id="RS0025" Action="Error" />
</Rules>
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="SA1000" Action="Error" />
<Rule Id="SA1001" Action="Error" />
<Rule Id="SA1002" Action="Error" />
<Rule Id="SA1003" Action="Error" />
<Rule Id="SA1004" Action="Error" />
<Rule Id="SA1005" Action="Error" />
<Rule Id="SA1006" Action="Error" />
<Rule Id="SA1007" Action="Error" />
<Rule Id="SA1008" Action="Error" />
<Rule Id="SA1009" Action="Error" />
<Rule Id="SA1010" Action="Error" />
<Rule Id="SA1011" Action="Error" />
<Rule Id="SA1012" Action="Error" />
<Rule Id="SA1013" Action="Error" />
<Rule Id="SA1014" Action="Error" />
<Rule Id="SA1015" Action="Error" />
<Rule Id="SA1016" Action="Error" />
<Rule Id="SA1017" Action="Error" />
<Rule Id="SA1018" Action="Error" />
<Rule Id="SA1019" Action="Error" />
<Rule Id="SA1020" Action="Error" />
<Rule Id="SA1021" Action="Error" />
<Rule Id="SA1022" Action="Error" />
<Rule Id="SA1023" Action="Error" />
<Rule Id="SA1024" Action="Error" />
<Rule Id="SA1025" Action="Error" />
<Rule Id="SA1026" Action="Error" />
<Rule Id="SA1027" Action="Error" />
<Rule Id="SA1028" Action="None" />
<Rule Id="SA1100" Action="Error" />
<Rule Id="SA1101" Action="Error" />
<Rule Id="SA1102" Action="Error" />
<Rule Id="SA1103" Action="Error" />
<Rule Id="SA1104" Action="Error" />
<Rule Id="SA1105" Action="Error" />
<Rule Id="SA1106" Action="Error" />
<Rule Id="SA1107" Action="Error" />
<Rule Id="SA1108" Action="Error" />
<Rule Id="SA1110" Action="Error" />
<Rule Id="SA1111" Action="Error" />
<Rule Id="SA1112" Action="Error" />
<Rule Id="SA1113" Action="None" />
<Rule Id="SA1114" Action="None" />
<Rule Id="SA1115" Action="Error" />
<Rule Id="SA1116" Action="None" />
<Rule Id="SA1117" Action="None" />
<Rule Id="SA1118" Action="None" />
<Rule Id="SA1119" Action="Error" />
<Rule Id="SA1120" Action="Error" />
<Rule Id="SA1121" Action="None" />
<Rule Id="SA1122" Action="Error" />
<Rule Id="SA1123" Action="Error" />
<Rule Id="SA1124" Action="None" />
<Rule Id="SA1125" Action="Error" />
<Rule Id="SA1127" Action="None" />
<Rule Id="SA1128" Action="None" />
<Rule Id="SA1129" Action="None" />
<Rule Id="SA1130" Action="Error" />
<Rule Id="SA1131" Action="None" />
<Rule Id="SA1132" Action="None" />
<Rule Id="SA1133" Action="Error" />
<Rule Id="SA1134" Action="None" />
<Rule Id="SA1200" Action="Error" />
<Rule Id="SA1201" Action="Error" />
<Rule Id="SA1202" Action="Error" />
<Rule Id="SA1203" Action="Error" />
<Rule Id="SA1204" Action="Error" />
<Rule Id="SA1205" Action="Error" />
<Rule Id="SA1206" Action="Error" />
<Rule Id="SA1207" Action="Error" />
<Rule Id="SA1208" Action="Error" />
<Rule Id="SA1209" Action="Error" />
<Rule Id="SA1210" Action="Error" />
<Rule Id="SA1211" Action="Error" />
<Rule Id="SA1212" Action="Error" />
<Rule Id="SA1213" Action="Error" />
<Rule Id="SA1214" Action="Error" />
<Rule Id="SA1216" Action="Error" />
<Rule Id="SA1217" Action="Error" />
<Rule Id="SA1300" Action="Error" />
<Rule Id="SA1302" Action="Error" />
<Rule Id="SA1303" Action="Error" />
<Rule Id="SA1304" Action="Error" />
<Rule Id="SA1306" Action="Error" />
<Rule Id="SA1307" Action="Error" />
<Rule Id="SA1308" Action="Error" />
<Rule Id="SA1309" Action="Error" />
<Rule Id="SA1310" Action="Error" />
<Rule Id="SA1311" Action="Error" />
<Rule Id="SA1312" Action="Error" />
<Rule Id="SA1313" Action="Error" />
<Rule Id="SA1400" Action="Error" />
<Rule Id="SA1401" Action="None" />
<Rule Id="SA1402" Action="Error" />
<Rule Id="SA1403" Action="Error" />
<Rule Id="SA1404" Action="Error" />
<Rule Id="SA1405" Action="Error" />
<Rule Id="SA1406" Action="Error" />
<Rule Id="SA1407" Action="Error" />
<Rule Id="SA1408" Action="Error" />
<Rule Id="SA1410" Action="Error" />
<Rule Id="SA1411" Action="Error" />
<Rule Id="SA1500" Action="Error" />
<Rule Id="SA1501" Action="Error" />
<Rule Id="SA1502" Action="Error" />
<Rule Id="SA1503" Action="Error" />
<Rule Id="SA1504" Action="Error" />
<Rule Id="SA1505" Action="Error" />
<Rule Id="SA1506" Action="Error" />
<Rule Id="SA1507" Action="Error" />
<Rule Id="SA1508" Action="Error" />
<Rule Id="SA1509" Action="Error" />
<Rule Id="SA1510" Action="Error" />
<Rule Id="SA1511" Action="Error" />
<Rule Id="SA1512" Action="None" />
<Rule Id="SA1513" Action="Error" />
<Rule Id="SA1514" Action="Error" />
<Rule Id="SA1515" Action="None" />
<Rule Id="SA1516" Action="Error" />
<Rule Id="SA1517" Action="Error" />
<Rule Id="SA1518" Action="Error" />
<Rule Id="SA1519" Action="Error" />
<Rule Id="SA1520" Action="Error" />
<Rule Id="SA1600" Action="None" />
<Rule Id="SA1601" Action="Error" />
<Rule Id="SA1602" Action="Error" />
<Rule Id="SA1604" Action="Error" />
<Rule Id="SA1605" Action="Error" />
<Rule Id="SA1606" Action="Error" />
<Rule Id="SA1607" Action="Error" />
<Rule Id="SA1608" Action="Error" />
<Rule Id="SA1610" Action="Error" />
<Rule Id="SA1611" Action="None" />
<Rule Id="SA1612" Action="Error" />
<Rule Id="SA1613" Action="Error" />
<Rule Id="SA1614" Action="Error" />
<Rule Id="SA1615" Action="None" />
<Rule Id="SA1616" Action="Error" />
<Rule Id="SA1617" Action="Error" />
<Rule Id="SA1618" Action="None" />
<Rule Id="SA1619" Action="Error" />
<Rule Id="SA1620" Action="Error" />
<Rule Id="SA1621" Action="Error" />
<Rule Id="SA1622" Action="Error" />
<Rule Id="SA1623" Action="Error" />
<Rule Id="SA1624" Action="Error" />
<Rule Id="SA1625" Action="Error" />
<Rule Id="SA1626" Action="Error" />
<Rule Id="SA1627" Action="Error" />
<Rule Id="SA1633" Action="None" />
<Rule Id="SA1634" Action="Error" />
<Rule Id="SA1635" Action="Error" />
<Rule Id="SA1636" Action="None" />
<Rule Id="SA1637" Action="Error" />
<Rule Id="SA1638" Action="Error" />
<Rule Id="SA1640" Action="Error" />
<Rule Id="SA1641" Action="Error" />
<Rule Id="SA1642" Action="None" />
<Rule Id="SA1643" Action="Error" />
<Rule Id="SA1648" Action="Error" />
<Rule Id="SA1649" Action="Error" />
<Rule Id="SA1651" Action="Error" />
<Rule Id="SA1652" Action="Error" />
</Rules>
</RuleSet>

Просмотреть файл

@ -1,5 +1,8 @@
# Changelog
## Version 2.12.0-beta1
- [ILogger - Flush TelemetryChannel when the ILoggerProvider is Disposed.](https://github.com/microsoft/ApplicationInsights-dotnet/pull/1289)
## Version 2.11.0
- Update Base SDK to 2.11.0
- Update System.Diagnostics.DiagnosticSource to 4.6.0.

Просмотреть файл

@ -6,7 +6,7 @@
</PropertyGroup>
<PropertyGroup>
<CodeAnalysisRuleSet>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'ApplicationInsightsSDKRules.ruleset'))\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet>$(RulesetsRoot)\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">

Просмотреть файл

@ -1,194 +0,0 @@
Param(
[Parameter(Mandatory=$true,HelpMessage="Path to Artifact files (nupkg):")]
[string]
$artifactsPath,
[Parameter(Mandatory=$true,HelpMessage="Path to Source files (changelog):")]
[string]
$sourcePath,
[Parameter(Mandatory=$false,HelpMessage="Path to save metadata:")]
[string]
$outPath
)
class PackageInfo {
[string]$Name
[string]$NuspecVersion
[string]$DllVersion
[string]$MyGetUri
PackageInfo([string]$name, [string]$nuspecVersion, [string]$dllVersion) {
$this.Name = $name
$this.NuspecVersion = $nuspecVersion
$this.DllVersion = $dllVersion
$mygetBasePath = "https://www.myget.org/feed/applicationinsights/package/nuget/{0}/{1}"
$this.MyGetUri = $mygetBasePath -f $name, $nuspecVersion
}
}
class ReleaseInfo {
[string]$ReleaseName
[string]$ReleaseVersion
[string]$NuspecVersion
[string]$FormattedReleaseName
[bool]$IsPreRelease
[string]$CommitId
[string]$ChangeLog
[PackageInfo[]]$Packages
}
Function Get-GitChangeset() {
# if running localy, use git command. for VSTS, probably better to use Build.SourceVersion
# Git command only works if this script executes in the repo's directory
[string]$commit = ""
try {
$commit = $(Build.SourceVersion)
} catch {
try {
$commit = git log -1 --format=%H
} catch {
$commit = "not found"
}
}
Write-Host "Git Commit: $commit"
return [string]$commit
}
function Get-NuspecVersionName ([string]$version) {
# get everything up to word "-build" (ex: "1.2.3-beta1-build1234 returns: "1.2.3-beta1")
# get everything (ex: "1.2.3-beta1 returns: "1.2.3-beta1")
# get everything (ex: "1.2.3 returns: "1.2.3")
$splitVersion = $version.split('-')
if($splitVersion.Length -gt 2 ) {
return $splitVersion[0]+"-"+$splitVersion[1]
} else {
return $version
}
}
function Invoke-UnZip([string]$zipfile, [string]$outpath) {
Write-Verbose "Unzip - source: $zipfile"
Write-Verbose "Unzip - target: $outpath"
Add-Type -assembly "system.io.compression.filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
}
function Get-PackageInfoFromNupkg([string]$nupkgPath) {
$unzipPath = $nupkgPath+"_unzip"
$null = Invoke-UnZip $nupkgPath $unzipPath
$nuspecPath = Get-ChildItem -Path $unzipPath -Recurse -Filter *.nuspec | Select-Object -First 1
Write-Verbose ("Found Nuspec: " + $nuspecPath.FullName)
[xml]$nuspec = Get-Content $nuspecPath.FullName
$name = $nuspec.package.metadata.id
$nuspecVersion = $nuspec.package.metadata.version
$dllPath = Get-ChildItem -Path $unzipPath -Recurse -Filter *.dll | Select-Object -First 1
Write-Verbose ("Found Dll: " + $dllPath.FullName)
$dllVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($dllPath.FullName).FileVersion
return [PackageInfo]::new($name, $nuspecVersion, $dllVersion)
}
function Get-ReleaseMetaData ([string]$artifactsPath, [string]$sourcePath) {
$object = [ReleaseInfo]::new()
$object.CommitId = Get-GitChangeset
$object.Packages = $()
Get-ChildItem -Path $artifactsPath -Recurse -Filter *.nupkg -Exclude *.symbols.nupkg |
ForEach-Object { $object.Packages += Get-PackageInfoFromNupkg $_.FullName }
$object.NuspecVersion = $object.Packages[0].NuspecVersion
$object.ReleaseName = Get-NuspecVersionName($object.Packages[0].NuspecVersion)
$object.ReleaseVersion = $object.Packages[0].DllVersion
$object.FormattedReleaseName = "$($object.ReleaseName) ($($object.ReleaseVersion))"
$object.IsPreRelease = [bool]($object.ReleaseName -like "*beta*")
$object.ChangeLog = Get-ChangelogText $sourcePath $object.ReleaseName
return $object
}
Function Get-ChangelogText ([string]$sourcePath, [string]$versionName) {
$sb = [System.Text.StringBuilder]::new()
$saveLines = $false
$readFile = $true
$changelogPath = Get-ChildItem -Path $sourcePath -Recurse -Filter changelog.md | Select-Object -First 1
Write-Verbose "Changelog Found: $changelogPath"
Get-Content -Path $changelogPath.FullName | ForEach-Object {
if($readFile) {
if($saveLines) {
if($_ -like "##*") {
Write-Verbose "STOP at $_"
$readFile = $false
}
if($readFile) {
[void]$sb.AppendLine($_)
}
} else {
if(($_ -like "##*") -and ($_ -match $versionName)) {
$saveLines = $true
Write-Verbose "START at $_"
}
}
}
}
return $sb.ToString()
}
Function Save-ToXml([string]$outPath, [ReleaseInfo]$object) {
$outFilePath = Join-Path $outPath "releaseMetaData.xml"
$xmlWriter = [System.XMl.XmlTextWriter]::new($outFilePath, $Null)
$xmlWriter.Formatting = "Indented"
$xmlWriter.Indentation = 1
$XmlWriter.IndentChar = "`t"
# write the header
$xmlWriter.WriteStartDocument()
# create root node:
$xmlWriter.WriteStartElement("MetaData")
$XmlWriter.WriteElementString("ReleaseName", $object.ReleaseName)
$XmlWriter.WriteElementString("ReleaseVersion", $object.ReleaseVersion)
$XmlWriter.WriteElementString("FormattedReleaseName", $object.FormattedReleaseName)
$XmlWriter.WriteElementString("NuspecVersion", $object.NuspecVersion)
$XmlWriter.WriteElementString("IsPreRelease", $object.IsPreRelease)
$XmlWriter.WriteElementString("CommitId", $object.CommitId)
$XmlWriter.WriteElementString("ChangeLog", $object.ChangeLog)
$XmlWriter.WriteStartElement("Packages")
$object.Packages | ForEach-Object {
$XmlWriter.WriteStartElement("Package")
$XmlWriter.WriteElementString("Name", $_.Name)
$XmlWriter.WriteElementString("NuspecVersion", $_.NuspecVersion)
$XmlWriter.WriteElementString("DllVersion", $_.DllVersion)
$XmlWriter.WriteElementString("MyGetUri", $_.MyGetUri)
$XmlWriter.WriteEndElement()
}
$XmlWriter.WriteEndElement()
# close the root node:
$xmlWriter.WriteEndElement()
# finalize the document:
$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()
}
# 1) GET META DATA FROM ARTIFACTS
$metaData = Get-ReleaseMetaData $artifactsPath $sourcePath
Write-Output $metaData
$metaData.Packages | ForEach-Object { Write-Output $_ }
# 2) SAVE
Save-ToXml $outPath $metaData

Просмотреть файл

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="SDL Recommended Rules" Description="These rules focus on the most critical security problems in your code. You should include this rule set in any custom rule set you create for your projects." ToolsVersion="14.0">
<Rules AnalyzerId="Desktop.CSharp.Analyzers" RuleNamespace="Desktop.CSharp.Analyzers">
<Rule Id="CA1001" Action="Warning" />
<Rule Id="CA1009" Action="Warning" />
<Rule Id="CA1016" Action="Warning" />
<Rule Id="CA1033" Action="Warning" />
<Rule Id="CA1049" Action="Warning" />
<Rule Id="CA1060" Action="Warning" />
<Rule Id="CA1061" Action="Warning" />
<Rule Id="CA1063" Action="Warning" />
<Rule Id="CA1065" Action="Warning" />
<Rule Id="CA1301" Action="Warning" />
<Rule Id="CA1400" Action="Warning" />
<Rule Id="CA1401" Action="Warning" />
<Rule Id="CA1403" Action="Warning" />
<Rule Id="CA1404" Action="Warning" />
<Rule Id="CA1405" Action="Warning" />
<Rule Id="CA1410" Action="Warning" />
<Rule Id="CA1415" Action="Warning" />
<Rule Id="CA1821" Action="Warning" />
<Rule Id="CA1900" Action="Warning" />
<Rule Id="CA1901" Action="Warning" />
<Rule Id="CA2002" Action="Warning" />
<Rule Id="CA2100" Action="Warning" />
<Rule Id="CA2101" Action="Warning" />
<Rule Id="CA2108" Action="Warning" />
<Rule Id="CA2111" Action="Warning" />
<Rule Id="CA2112" Action="Warning" />
<Rule Id="CA2114" Action="Warning" />
<Rule Id="CA2116" Action="Warning" />
<Rule Id="CA2117" Action="Warning" />
<Rule Id="CA2122" Action="Warning" />
<Rule Id="CA2123" Action="Warning" />
<Rule Id="CA2124" Action="Warning" />
<Rule Id="CA2126" Action="Warning" />
<Rule Id="CA2131" Action="Warning" />
<Rule Id="CA2132" Action="Warning" />
<Rule Id="CA2133" Action="Warning" />
<Rule Id="CA2134" Action="Warning" />
<Rule Id="CA2137" Action="Warning" />
<Rule Id="CA2138" Action="Warning" />
<Rule Id="CA2140" Action="Warning" />
<Rule Id="CA2141" Action="Warning" />
<Rule Id="CA2146" Action="Warning" />
<Rule Id="CA2147" Action="Warning" />
<Rule Id="CA2149" Action="Warning" />
<Rule Id="CA2200" Action="Warning" />
<Rule Id="CA2202" Action="Warning" />
<Rule Id="CA2207" Action="Warning" />
<Rule Id="CA2212" Action="Warning" />
<Rule Id="CA2213" Action="Warning" />
<Rule Id="CA2214" Action="Warning" />
<Rule Id="CA2216" Action="Warning" />
<Rule Id="CA2220" Action="Warning" />
<Rule Id="CA2229" Action="Warning" />
<Rule Id="CA2231" Action="Warning" />
<Rule Id="CA2232" Action="Warning" />
<Rule Id="CA2235" Action="Warning" />
<Rule Id="CA2236" Action="Warning" />
<Rule Id="CA2237" Action="Warning" />
<Rule Id="CA2238" Action="Warning" />
<Rule Id="CA2240" Action="Warning" />
<Rule Id="CA2241" Action="Warning" />
<Rule Id="CA2242" Action="Warning" />
<Rule Id="CA2153" Action="Warning" />
<Rule Id="CA3075" Action="Warning" />
<Rule Id="CA3076" Action="Warning" />
<Rule Id="CA3077" Action="Warning" />
<Rule Id="CA5350" Action="Warning" />
<Rule Id="CA5351" Action="Warning" />
</Rules>
</RuleSet>

Просмотреть файл

@ -1,53 +0,0 @@
[CmdletBinding()]
Param(
# C:\Repos\bin\Debug\Src
[string]$buildDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "bin\Debug\Src") ,
# C:\Repos\binSkim
[string]$binSkimDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "binSkim")
)
# these are dlls that end up in the bin, but do not belong to us and don't need to be scanned.
$excludedFiles = @("KernelTraceControl.dll", "msdia140.dll")
Write-Host "`nPARAMETERS:";
Write-Host "`tbuildDirectory:" $buildDirectory;
Write-Host "`tbinSkimDirectory:" $binSkimDirectory;
# don't need to clean folder on build server, but is needed for local dev
Write-Host "`nCreate BinSkim Directory...";
if (Test-Path $binSkimDirectory) { Remove-Item $binSkimDirectory -Recurse; }
# copy all
Write-Host "`nCopy all files...";
Copy-Item -Path $buildDirectory -Filter "*.dll" -Destination $binSkimDirectory -Recurse;
# delete test directories
Write-Host "`nDelete any 'Test' directories...";
Get-ChildItem -Path $binSkimDirectory -Recurse -Directory |
Where-Object {$_ -match "Test"} |
Remove-Item -Recurse;
# delete excluded files
if ($excludedFiles.Count -gt 0) {
Write-Host "`nDelete excluded files...";
Get-ChildItem -Path $binSkimDirectory -Recurse -File |
ForEach-Object {
if ($excludedFiles.Contains($_.Name)) {
Write-Host "Excluded File:" $_.FullName;
Remove-Item $_.FullName;
}
}
}
# summary for log output (file list and count)
Write-Host "`nCopied Files:";
$count = 0;
Get-ChildItem -Path $binSkimDirectory -Recurse -File |
ForEach-Object {
Write-Host "`t"$_.FullName;
$count++;
}
Write-Host "`nTOTAL FILES:" $count;

Просмотреть файл

@ -1,99 +0,0 @@
[CmdletBinding()]
Param(
# C:\Repos\bin\Debug\Src
[string]$buildDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "bin\Debug") ,
# C:\Repos\fxCop
[string]$fxCopDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "fxCop")
)
function IsFileDependency {
[CmdletBinding()]
param
(
$file
)
$dependencyFiles | ForEach-Object {
if($file.Name -eq $_) {
return $true;
}
}
return $false;
}
# these are dlls that end up in the bin, but do not belong to us and don't need to be scanned.
$excludedFiles = @(
"KernelTraceControl.dll",
"msdia140.dll");
$dependencyFiles = @(
"Microsoft.ApplicationInsights.dll",
"log4net.dll",
"NLog.dll",
"Microsoft.Diagnostics.Tracing.TraceEvent.dll",
"System.Diagnostics.DiagnosticSource.dll");
Write-Host "`nPARAMETERS:";
Write-Host "`tbuildDirectory:" $buildDirectory;
Write-Host "`tfxCopDirectory:" $fxCopDirectory;
$fxCopTargetDir = Join-Path -Path $fxCopDirectory -ChildPath "target";
$fxCopDependenciesDir = Join-Path -Path $fxCopDirectory -ChildPath "dependencies";
$frameworks = @("net45", "net451", "netstandard1.3");
# don't need to clean folder on build server, but is needed for local dev
Write-Host "`nCreate FxCop Directory...";
if (Test-Path $fxCopDirectory) { Remove-Item $fxCopDirectory -Recurse; }
# copy all
Write-Host "`nCopy all files (excluding 'Test' directories)...";
Get-ChildItem -Path $buildDirectory -Recurse -File -Include *.dll, *.pdb |
ForEach-Object {
$file = $_;
# exclude test files
if ($file.Directory -match "Test") {
return;
}
#find matching framework
$frameworks | ForEach-Object {
if($file.Directory -match $_) {
$framework = $_;
#is this file a dependency
if (IsFileDependency($file)) {
Copy-Item $file.FullName -Destination (New-Item (Join-Path -Path $fxCopDependenciesDir -ChildPath $framework) -Type container -Force) -Force;
} else {
Copy-Item $file.FullName -Destination (New-Item (Join-Path -Path $fxCopTargetDir -ChildPath $framework) -Type container -Force) -Force;
}
}
}
}
# delete excluded files
if ($excludedFiles.Count -gt 0) {
Write-Host "`nDelete excluded files...";
Get-ChildItem -Path $fxCopDirectory -Recurse -File |
ForEach-Object {
if ($excludedFiles.Contains($_.Name)) {
Write-Host "Excluded File:" $_.FullName;
Remove-Item $_.FullName;
}
}
}
# summary for log output (file list and count)
Write-Host "`nCopied Files:";
$count = 0;
Get-ChildItem -Path $fxCopDirectory -Recurse -File |
ForEach-Object {
Write-Host "`t"$_.FullName;
$count++;
}
Write-Host "`nTOTAL FILES:" $count;

Просмотреть файл

@ -1,3 +0,0 @@
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\sn.exe" -Vr *,31bf3856ad364e35
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe" -Vr *,31bf3856ad364e35
# running both the above as a hack which is known to work. Its not clear why both are needed.

Просмотреть файл

@ -1,3 +0,0 @@
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\sn.exe" -Vu *,31bf3856ad364e35
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe" -Vu *,31bf3856ad364e35
# running both the above as a hack which is known to work. Its not clear why both are needed.

Просмотреть файл

@ -8,7 +8,6 @@
namespace Microsoft.Extensions.Logging.ApplicationInsights
{
using Microsoft.ApplicationInsights.DataContracts;
using Microsoft.Extensions.Logging;
/// <summary>
/// <see cref="ApplicationInsightsLoggerOptions"/> defines the custom behavior of the tracing information sent to Application Insights.
@ -26,5 +25,11 @@ namespace Microsoft.Extensions.Logging.ApplicationInsights
/// Defaults to true.
/// </summary>
public bool IncludeScopes { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether to flush telemetry when disposing
/// of the logger provider.
/// </summary>
public bool FlushOnDispose { get; set; } = true;
}
}

Просмотреть файл

@ -8,7 +8,6 @@
namespace Microsoft.Extensions.Logging.ApplicationInsights
{
using System;
using System.Collections.Concurrent;
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.Extensibility.Implementation;
@ -105,7 +104,14 @@ namespace Microsoft.Extensions.Logging.ApplicationInsights
/// <param name="releasedManagedResources">Release managed resources.</param>
protected virtual void Dispose(bool releasedManagedResources)
{
// Nothing to dispose right now.
if (releasedManagedResources && this.applicationInsightsLoggerOptions.FlushOnDispose)
{
this.telemetryClient.Flush();
// With the ServerTelemetryChannel, Flush pushes buffered telemetry to the Transmitter,
// but it doesn't guarantee that all events have been transmitted to the endpoint.
// TODO: Should we sleep here? Should that be controlled by options?
}
}
}
}

Просмотреть файл

@ -248,6 +248,39 @@ namespace Microsoft.ApplicationInsights
Assert.IsTrue(registeredOptions.Value.IncludeScopes);
}
[TestMethod]
[TestCategory("ILogger")]
public void TelemetryChannelIsFlushedWhenServiceProviderIsDisposed()
{
TestTelemetryChannel testTelemetryChannel = new TestTelemetryChannel();
using (ServiceProvider serviceProvider = ILoggerIntegrationTests.SetupApplicationInsightsLoggerIntegration(
delegate { },
telemetryConfiguration => telemetryConfiguration.TelemetryChannel = testTelemetryChannel))
{
serviceProvider.GetRequiredService<ILogger<ILoggerIntegrationTests>>();
}
Assert.AreEqual(1, testTelemetryChannel.FlushCount);
}
[TestMethod]
[TestCategory("ILogger")]
public void TelemetryChannelIsNotFlushedWhenFlushOnDisposeIsFalse()
{
TestTelemetryChannel testTelemetryChannel = new TestTelemetryChannel();
using (ServiceProvider serviceProvider = ILoggerIntegrationTests.SetupApplicationInsightsLoggerIntegration(
delegate { },
telemetryConfiguration => telemetryConfiguration.TelemetryChannel = testTelemetryChannel,
applicationInsightsOptions => applicationInsightsOptions.FlushOnDispose = false))
{
serviceProvider.GetRequiredService<ILogger<ILoggerIntegrationTests>>();
}
Assert.AreEqual(0, testTelemetryChannel.FlushCount);
}
/// <summary>
/// Sets up the Application insights logger.
/// </summary>
@ -256,7 +289,7 @@ namespace Microsoft.ApplicationInsights
/// <param name="configureApplicationInsightsOptions">Action to configure logger options.</param>
/// <param name="configureServices">Action to add, configure services to DI container.</param>
/// <returns>Built DI container.</returns>
private static IServiceProvider SetupApplicationInsightsLoggerIntegration(
private static ServiceProvider SetupApplicationInsightsLoggerIntegration(
Action<ITelemetry, ITelemetryProcessor> telemetryActionCallback,
Action<TelemetryConfiguration> configureTelemetryConfiguration = null,
Action<ApplicationInsightsLoggerOptions> configureApplicationInsightsOptions = null,
@ -298,7 +331,7 @@ namespace Microsoft.ApplicationInsights
services = configureServices.Invoke(services);
}
IServiceProvider serviceProvider = services.BuildServiceProvider();
ServiceProvider serviceProvider = services.BuildServiceProvider();
return serviceProvider;
}

Просмотреть файл

@ -0,0 +1,30 @@
// <copyright file="ILoggerIntegrationTests.cs" company="Microsoft">
// Copyright © Microsoft. All Rights Reserved.
// </copyright>
using Microsoft.ApplicationInsights.Channel;
namespace Microsoft.ApplicationInsights
{
internal sealed class TestTelemetryChannel : ITelemetryChannel
{
public TestTelemetryChannel()
{
}
public bool? DeveloperMode { get; set; }
public string EndpointAddress { get; set; }
public void Dispose()
{
}
public void Flush() => FlushCount++;
public void Send(ITelemetry item) => SendCount++;
public int FlushCount { get; private set; }
public int SendCount { get; private set; }
}
}

Просмотреть файл

@ -1,194 +0,0 @@
Param(
[Parameter(Mandatory=$true,HelpMessage="Path to Artifact files (nupkg):")]
[string]
$artifactsPath,
[Parameter(Mandatory=$true,HelpMessage="Path to Source files (changelog):")]
[string]
$sourcePath,
[Parameter(Mandatory=$false,HelpMessage="Path to save metadata:")]
[string]
$outPath
)
class PackageInfo {
[string]$Name
[string]$NuspecVersion
[string]$DllVersion
[string]$MyGetUri
PackageInfo([string]$name, [string]$nuspecVersion, [string]$dllVersion) {
$this.Name = $name
$this.NuspecVersion = $nuspecVersion
$this.DllVersion = $dllVersion
$mygetBasePath = "https://www.myget.org/feed/applicationinsights/package/nuget/{0}/{1}"
$this.MyGetUri = $mygetBasePath -f $name, $nuspecVersion
}
}
class ReleaseInfo {
[string]$ReleaseName
[string]$ReleaseVersion
[string]$NuspecVersion
[string]$FormattedReleaseName
[bool]$IsPreRelease
[string]$CommitId
[string]$ChangeLog
[PackageInfo[]]$Packages
}
Function Get-GitChangeset() {
# if running localy, use git command. for VSTS, probably better to use Build.SourceVersion
# Git command only works if this script executes in the repo's directory
[string]$commit = ""
try {
$commit = $(Build.SourceVersion)
} catch {
try {
$commit = git log -1 --format=%H
} catch {
$commit = "not found"
}
}
Write-Host "Git Commit: $commit"
return [string]$commit
}
function Get-NuspecVersionName ([string]$version) {
# get everything up to word "-build" (ex: "1.2.3-beta1-build1234 returns: "1.2.3-beta1")
# get everything (ex: "1.2.3-beta1 returns: "1.2.3-beta1")
# get everything (ex: "1.2.3 returns: "1.2.3")
$splitVersion = $version.split('-')
if($splitVersion.Length -gt 2 ) {
return $splitVersion[0]+"-"+$splitVersion[1]
} else {
return $version
}
}
function Invoke-UnZip([string]$zipfile, [string]$outpath) {
Write-Verbose "Unzip - source: $zipfile"
Write-Verbose "Unzip - target: $outpath"
Add-Type -assembly "system.io.compression.filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
}
function Get-PackageInfoFromNupkg([string]$nupkgPath) {
$unzipPath = $nupkgPath+"_unzip"
$null = Invoke-UnZip $nupkgPath $unzipPath
$nuspecPath = Get-ChildItem -Path $unzipPath -Recurse -Filter *.nuspec | Select-Object -First 1
Write-Verbose ("Found Nuspec: " + $nuspecPath.FullName)
[xml]$nuspec = Get-Content $nuspecPath.FullName
$name = $nuspec.package.metadata.id
$nuspecVersion = $nuspec.package.metadata.version
$dllPath = Get-ChildItem -Path $unzipPath -Recurse -Filter *.dll | Select-Object -First 1
Write-Verbose ("Found Dll: " + $dllPath.FullName)
$dllVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($dllPath.FullName).FileVersion
return [PackageInfo]::new($name, $nuspecVersion, $dllVersion)
}
function Get-ReleaseMetaData ([string]$artifactsPath, [string]$sourcePath) {
$object = [ReleaseInfo]::new()
$object.CommitId = Get-GitChangeset
$object.Packages = $()
Get-ChildItem -Path $artifactsPath -Recurse -Filter *.nupkg -Exclude *.symbols.nupkg |
ForEach-Object { $object.Packages += Get-PackageInfoFromNupkg $_.FullName }
$object.NuspecVersion = $object.Packages[0].NuspecVersion
$object.ReleaseName = Get-NuspecVersionName($object.Packages[0].NuspecVersion)
$object.ReleaseVersion = $object.Packages[0].DllVersion
$object.FormattedReleaseName = "$($object.ReleaseName) ($($object.ReleaseVersion))"
$object.IsPreRelease = [bool]($object.ReleaseName -like "*beta*")
$object.ChangeLog = Get-ChangelogText $sourcePath $object.ReleaseName
return $object
}
Function Get-ChangelogText ([string]$sourcePath, [string]$versionName) {
$sb = [System.Text.StringBuilder]::new()
$saveLines = $false
$readFile = $true
$changelogPath = Get-ChildItem -Path $sourcePath -Recurse -Filter changelog.md | Select-Object -First 1
Write-Verbose "Changelog Found: $changelogPath"
Get-Content -Path $changelogPath.FullName | ForEach-Object {
if($readFile) {
if($saveLines) {
if($_ -like "##*") {
Write-Verbose "STOP at $_"
$readFile = $false
}
if($readFile) {
[void]$sb.AppendLine($_)
}
} else {
if(($_ -like "##*") -and ($_ -match $versionName)) {
$saveLines = $true
Write-Verbose "START at $_"
}
}
}
}
return $sb.ToString()
}
Function Save-ToXml([string]$outPath, [ReleaseInfo]$object) {
$outFilePath = Join-Path $outPath "releaseMetaData.xml"
$xmlWriter = [System.XMl.XmlTextWriter]::new($outFilePath, $Null)
$xmlWriter.Formatting = "Indented"
$xmlWriter.Indentation = 1
$XmlWriter.IndentChar = "`t"
# write the header
$xmlWriter.WriteStartDocument()
# create root node:
$xmlWriter.WriteStartElement("MetaData")
$XmlWriter.WriteElementString("ReleaseName", $object.ReleaseName)
$XmlWriter.WriteElementString("ReleaseVersion", $object.ReleaseVersion)
$XmlWriter.WriteElementString("FormattedReleaseName", $object.FormattedReleaseName)
$XmlWriter.WriteElementString("NuspecVersion", $object.NuspecVersion)
$XmlWriter.WriteElementString("IsPreRelease", $object.IsPreRelease)
$XmlWriter.WriteElementString("CommitId", $object.CommitId)
$XmlWriter.WriteElementString("ChangeLog", $object.ChangeLog)
$XmlWriter.WriteStartElement("Packages")
$object.Packages | ForEach-Object {
$XmlWriter.WriteStartElement("Package")
$XmlWriter.WriteElementString("Name", $_.Name)
$XmlWriter.WriteElementString("NuspecVersion", $_.NuspecVersion)
$XmlWriter.WriteElementString("DllVersion", $_.DllVersion)
$XmlWriter.WriteElementString("MyGetUri", $_.MyGetUri)
$XmlWriter.WriteEndElement()
}
$XmlWriter.WriteEndElement()
# close the root node:
$xmlWriter.WriteEndElement()
# finalize the document:
$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()
}
# 1) GET META DATA FROM ARTIFACTS
$metaData = Get-ReleaseMetaData $artifactsPath $sourcePath
Write-Output $metaData
$metaData.Packages | ForEach-Object { Write-Output $_ }
# 2) SAVE
Save-ToXml $outPath $metaData

Просмотреть файл

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="SDL Recommended Rules" Description="These rules focus on the most critical security problems in your code. You should include this rule set in any custom rule set you create for your projects." ToolsVersion="14.0">
<Rules AnalyzerId="Desktop.CSharp.Analyzers" RuleNamespace="Desktop.CSharp.Analyzers">
<Rule Id="CA1001" Action="Warning" />
<Rule Id="CA1009" Action="Warning" />
<Rule Id="CA1016" Action="Warning" />
<Rule Id="CA1033" Action="Warning" />
<Rule Id="CA1049" Action="Warning" />
<Rule Id="CA1060" Action="Warning" />
<Rule Id="CA1061" Action="Warning" />
<Rule Id="CA1063" Action="Warning" />
<Rule Id="CA1065" Action="Warning" />
<Rule Id="CA1301" Action="Warning" />
<Rule Id="CA1400" Action="Warning" />
<Rule Id="CA1401" Action="Warning" />
<Rule Id="CA1403" Action="Warning" />
<Rule Id="CA1404" Action="Warning" />
<Rule Id="CA1405" Action="Warning" />
<Rule Id="CA1410" Action="Warning" />
<Rule Id="CA1415" Action="Warning" />
<Rule Id="CA1821" Action="Warning" />
<Rule Id="CA1900" Action="Warning" />
<Rule Id="CA1901" Action="Warning" />
<Rule Id="CA2002" Action="Warning" />
<Rule Id="CA2100" Action="Warning" />
<Rule Id="CA2101" Action="Warning" />
<Rule Id="CA2108" Action="Warning" />
<Rule Id="CA2111" Action="Warning" />
<Rule Id="CA2112" Action="Warning" />
<Rule Id="CA2114" Action="Warning" />
<Rule Id="CA2116" Action="Warning" />
<Rule Id="CA2117" Action="Warning" />
<Rule Id="CA2122" Action="Warning" />
<Rule Id="CA2123" Action="Warning" />
<Rule Id="CA2124" Action="Warning" />
<Rule Id="CA2126" Action="Warning" />
<Rule Id="CA2131" Action="Warning" />
<Rule Id="CA2132" Action="Warning" />
<Rule Id="CA2133" Action="Warning" />
<Rule Id="CA2134" Action="Warning" />
<Rule Id="CA2137" Action="Warning" />
<Rule Id="CA2138" Action="Warning" />
<Rule Id="CA2140" Action="Warning" />
<Rule Id="CA2141" Action="Warning" />
<Rule Id="CA2146" Action="Warning" />
<Rule Id="CA2147" Action="Warning" />
<Rule Id="CA2149" Action="Warning" />
<Rule Id="CA2200" Action="Warning" />
<Rule Id="CA2202" Action="Warning" />
<Rule Id="CA2207" Action="Warning" />
<Rule Id="CA2212" Action="Warning" />
<Rule Id="CA2213" Action="Warning" />
<Rule Id="CA2214" Action="Warning" />
<Rule Id="CA2216" Action="Warning" />
<Rule Id="CA2220" Action="Warning" />
<Rule Id="CA2229" Action="Warning" />
<Rule Id="CA2231" Action="Warning" />
<Rule Id="CA2232" Action="Warning" />
<Rule Id="CA2235" Action="Warning" />
<Rule Id="CA2236" Action="Warning" />
<Rule Id="CA2237" Action="Warning" />
<Rule Id="CA2238" Action="Warning" />
<Rule Id="CA2240" Action="Warning" />
<Rule Id="CA2241" Action="Warning" />
<Rule Id="CA2242" Action="Warning" />
<Rule Id="CA2153" Action="Warning" />
<Rule Id="CA3075" Action="Warning" />
<Rule Id="CA3076" Action="Warning" />
<Rule Id="CA3077" Action="Warning" />
<Rule Id="CA5350" Action="Warning" />
<Rule Id="CA5351" Action="Warning" />
</Rules>
</RuleSet>

Просмотреть файл

@ -1,3 +0,0 @@
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\sn.exe" -Vr *,31bf3856ad364e35
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe" -Vr *,31bf3856ad364e35
# running both the above as a hack which is known to work. Its not clear why both are needed.

Просмотреть файл

@ -1,3 +0,0 @@
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\sn.exe" -Vu *,31bf3856ad364e35
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe" -Vu *,31bf3856ad364e35
# running both the above as a hack which is known to work. Its not clear why both are needed.

Просмотреть файл

@ -1,628 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="ApplicationInsights SDK Rules" Description="These rules focus on the most critical problems in your code, including potential security holes, application crashes, and other important logic and design errors. It is recommended to include this rule set in any custom rule set you create for your projects. These include a combination of Microsoft Managed Recommended Rules and DevDivRuleSet for Microbuild." ToolsVersion="15.0">
<Localization ResourceAssembly="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.dll" ResourceBaseName="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.Localized">
<Name Resource="ApplicationInsightsSDKRules_Name" />
<Description Resource="ApplicationInsightsSDKRules_Description" />
</Localization>
<Include Path="microsoft-security-recommended.ruleset" Action="Default" />
<Include Path="minimumrecommendedrules.ruleset" Action="Default" />
<Include Path="securityrules.ruleset" Action="Default" />
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1001" Action="Warning" />
<Rule Id="CA1009" Action="Warning" />
<Rule Id="CA1016" Action="Warning" />
<!-- Suppressing Message "Modify 'method' to catch a more specific exception type, or rethrow the exception" because we already catch Exceptions we care about and either log/ignore others. -->
<Rule Id="CA1031" Action="None" />
<Rule Id="CA1033" Action="Warning" />
<Rule Id="CA1049" Action="Warning" />
<Rule Id="CA1060" Action="Warning" />
<Rule Id="CA1061" Action="Warning" />
<Rule Id="CA1063" Action="Warning" />
<Rule Id="CA1065" Action="Warning" />
<Rule Id="CA1304" Action="Warning" />
<Rule Id="CA1305" Action="Warning" />
<Rule Id="CA1307" Action="Warning" />
<Rule Id="CA1309" Action="Warning" />
<Rule Id="CA1401" Action="Warning" />
<Rule Id="CA1403" Action="Warning" />
<Rule Id="CA1405" Action="Warning" />
<Rule Id="CA1410" Action="Warning" />
<Rule Id="CA1821" Action="Warning" />
<Rule Id="CA1900" Action="Warning" />
<Rule Id="CA2001" Action="Warning" />
<Rule Id="CA2002" Action="Warning" />
<!-- Suppressing Message "Do not create tasks without passing a TaskScheduler" because framework manages this by default -->
<Rule Id="CA2008" Action="None" />
<Rule Id="CA2100" Action="Warning" />
<Rule Id="CA2102" Action="Warning" />
<Rule Id="CA2103" Action="Warning" />
<Rule Id="CA2104" Action="Warning" />
<Rule Id="CA2105" Action="Warning" />
<Rule Id="CA2106" Action="Warning" />
<Rule Id="CA2107" Action="Warning" />
<Rule Id="CA2108" Action="Warning" />
<Rule Id="CA2109" Action="Warning" />
<Rule Id="CA2111" Action="Warning" />
<Rule Id="CA2112" Action="Warning" />
<Rule Id="CA2114" Action="Warning" />
<Rule Id="CA2115" Action="Warning" />
<Rule Id="CA2116" Action="Warning" />
<Rule Id="CA2117" Action="Warning" />
<Rule Id="CA2118" Action="Warning" />
<Rule Id="CA2119" Action="Warning" />
<Rule Id="CA2120" Action="Warning" />
<Rule Id="CA2121" Action="Warning" />
<Rule Id="CA2122" Action="Warning" />
<Rule Id="CA2123" Action="Warning" />
<Rule Id="CA2124" Action="Warning" />
<Rule Id="CA2126" Action="Warning" />
<Rule Id="CA2130" Action="Warning" />
<Rule Id="CA2131" Action="Warning" />
<Rule Id="CA2132" Action="Warning" />
<Rule Id="CA2133" Action="Warning" />
<Rule Id="CA2134" Action="Warning" />
<Rule Id="CA2135" Action="Warning" />
<Rule Id="CA2136" Action="Warning" />
<Rule Id="CA2137" Action="Warning" />
<Rule Id="CA2138" Action="Warning" />
<Rule Id="CA2139" Action="Warning" />
<Rule Id="CA2140" Action="Warning" />
<Rule Id="CA2141" Action="Warning" />
<Rule Id="CA2142" Action="Warning" />
<Rule Id="CA2143" Action="Warning" />
<Rule Id="CA2144" Action="Warning" />
<Rule Id="CA2145" Action="Warning" />
<Rule Id="CA2146" Action="Warning" />
<Rule Id="CA2147" Action="Warning" />
<Rule Id="CA2149" Action="Warning" />
<Rule Id="CA2151" Action="Warning" />
<Rule Id="CA2200" Action="Warning" />
<Rule Id="CA2202" Action="Warning" />
<Rule Id="CA2207" Action="Warning" />
<Rule Id="CA2210" Action="None" />
<Rule Id="CA2212" Action="Warning" />
<Rule Id="CA2213" Action="Warning" />
<Rule Id="CA2214" Action="Warning" />
<Rule Id="CA2216" Action="Warning" />
<Rule Id="CA2219" Action="Warning" />
<Rule Id="CA2220" Action="Warning" />
<Rule Id="CA2229" Action="Warning" />
<Rule Id="CA2231" Action="Warning" />
<Rule Id="CA2232" Action="Warning" />
<Rule Id="CA2233" Action="Warning" />
<Rule Id="CA2234" Action="Warning" />
<Rule Id="CA2235" Action="Warning" />
<Rule Id="CA2236" Action="Warning" />
<Rule Id="CA2237" Action="Warning" />
<Rule Id="CA2238" Action="Warning" />
<Rule Id="CA2240" Action="Warning" />
<Rule Id="CA2241" Action="Warning" />
<Rule Id="CA2242" Action="Warning" />
<Rule Id="CA5122" Action="Warning" />
</Rules>
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<Rule Id="C26100" Action="Warning" />
<Rule Id="C26101" Action="Warning" />
<Rule Id="C26105" Action="Warning" />
<Rule Id="C26110" Action="Warning" />
<Rule Id="C26111" Action="Warning" />
<Rule Id="C26112" Action="Warning" />
<Rule Id="C26115" Action="Warning" />
<Rule Id="C26116" Action="Warning" />
<Rule Id="C26117" Action="Warning" />
<Rule Id="C26130" Action="Warning" />
<Rule Id="C26135" Action="Warning" />
<Rule Id="C26140" Action="Warning" />
<Rule Id="C26160" Action="Warning" />
<Rule Id="C26165" Action="Warning" />
<Rule Id="C26166" Action="Warning" />
<Rule Id="C26167" Action="Warning" />
<Rule Id="C28020" Action="Warning" />
<Rule Id="C28021" Action="Warning" />
<Rule Id="C28022" Action="Warning" />
<Rule Id="C28023" Action="Warning" />
<Rule Id="C28024" Action="Warning" />
<Rule Id="C28039" Action="Warning" />
<Rule Id="C28101" Action="Warning" />
<Rule Id="C28103" Action="Warning" />
<Rule Id="C28104" Action="Warning" />
<Rule Id="C28105" Action="Warning" />
<Rule Id="C28106" Action="Warning" />
<Rule Id="C28107" Action="Warning" />
<Rule Id="C28108" Action="Warning" />
<Rule Id="C28109" Action="Warning" />
<Rule Id="C28110" Action="Warning" />
<Rule Id="C28111" Action="Warning" />
<Rule Id="C28112" Action="Warning" />
<Rule Id="C28113" Action="Warning" />
<Rule Id="C28114" Action="Warning" />
<Rule Id="C28120" Action="Warning" />
<Rule Id="C28121" Action="Warning" />
<Rule Id="C28122" Action="Warning" />
<Rule Id="C28123" Action="Warning" />
<Rule Id="C28124" Action="Warning" />
<Rule Id="C28125" Action="Warning" />
<Rule Id="C28126" Action="Warning" />
<Rule Id="C28127" Action="Warning" />
<Rule Id="C28128" Action="Warning" />
<Rule Id="C28129" Action="Warning" />
<Rule Id="C28131" Action="Warning" />
<Rule Id="C28132" Action="Warning" />
<Rule Id="C28133" Action="Warning" />
<Rule Id="C28134" Action="Warning" />
<Rule Id="C28135" Action="Warning" />
<Rule Id="C28137" Action="Warning" />
<Rule Id="C28138" Action="Warning" />
<Rule Id="C28141" Action="Warning" />
<Rule Id="C28143" Action="Warning" />
<Rule Id="C28144" Action="Warning" />
<Rule Id="C28145" Action="Warning" />
<Rule Id="C28146" Action="Warning" />
<Rule Id="C28147" Action="Warning" />
<Rule Id="C28150" Action="Warning" />
<Rule Id="C28151" Action="Warning" />
<Rule Id="C28152" Action="Warning" />
<Rule Id="C28153" Action="Warning" />
<Rule Id="C28156" Action="Warning" />
<Rule Id="C28157" Action="Warning" />
<Rule Id="C28158" Action="Warning" />
<Rule Id="C28159" Action="Warning" />
<Rule Id="C28160" Action="Warning" />
<Rule Id="C28161" Action="Warning" />
<Rule Id="C28162" Action="Warning" />
<Rule Id="C28163" Action="Warning" />
<Rule Id="C28164" Action="Warning" />
<Rule Id="C28165" Action="Warning" />
<Rule Id="C28166" Action="Warning" />
<Rule Id="C28167" Action="Warning" />
<Rule Id="C28168" Action="Warning" />
<Rule Id="C28169" Action="Warning" />
<Rule Id="C28170" Action="Warning" />
<Rule Id="C28171" Action="Warning" />
<Rule Id="C28172" Action="Warning" />
<Rule Id="C28173" Action="Warning" />
<Rule Id="C28175" Action="Warning" />
<Rule Id="C28176" Action="Warning" />
<Rule Id="C28182" Action="Warning" />
<Rule Id="C28183" Action="Warning" />
<Rule Id="C28193" Action="Warning" />
<Rule Id="C28194" Action="Warning" />
<Rule Id="C28195" Action="Warning" />
<Rule Id="C28196" Action="Warning" />
<Rule Id="C28197" Action="Warning" />
<Rule Id="C28198" Action="Warning" />
<Rule Id="C28199" Action="Warning" />
<Rule Id="C28202" Action="Warning" />
<Rule Id="C28203" Action="Warning" />
<Rule Id="C28204" Action="Warning" />
<Rule Id="C28205" Action="Warning" />
<Rule Id="C28206" Action="Warning" />
<Rule Id="C28207" Action="Warning" />
<Rule Id="C28208" Action="Warning" />
<Rule Id="C28209" Action="Warning" />
<Rule Id="C28210" Action="Warning" />
<Rule Id="C28211" Action="Warning" />
<Rule Id="C28212" Action="Warning" />
<Rule Id="C28213" Action="Warning" />
<Rule Id="C28214" Action="Warning" />
<Rule Id="C28215" Action="Warning" />
<Rule Id="C28216" Action="Warning" />
<Rule Id="C28217" Action="Warning" />
<Rule Id="C28218" Action="Warning" />
<Rule Id="C28219" Action="Warning" />
<Rule Id="C28220" Action="Warning" />
<Rule Id="C28221" Action="Warning" />
<Rule Id="C28222" Action="Warning" />
<Rule Id="C28223" Action="Warning" />
<Rule Id="C28224" Action="Warning" />
<Rule Id="C28225" Action="Warning" />
<Rule Id="C28226" Action="Warning" />
<Rule Id="C28227" Action="Warning" />
<Rule Id="C28228" Action="Warning" />
<Rule Id="C28229" Action="Warning" />
<Rule Id="C28230" Action="Warning" />
<Rule Id="C28231" Action="Warning" />
<Rule Id="C28232" Action="Warning" />
<Rule Id="C28233" Action="Warning" />
<Rule Id="C28234" Action="Warning" />
<Rule Id="C28235" Action="Warning" />
<Rule Id="C28236" Action="Warning" />
<Rule Id="C28237" Action="Warning" />
<Rule Id="C28238" Action="Warning" />
<Rule Id="C28239" Action="Warning" />
<Rule Id="C28240" Action="Warning" />
<Rule Id="C28241" Action="Warning" />
<Rule Id="C28243" Action="Warning" />
<Rule Id="C28244" Action="Warning" />
<Rule Id="C28245" Action="Warning" />
<Rule Id="C28246" Action="Warning" />
<Rule Id="C28250" Action="Warning" />
<Rule Id="C28251" Action="Warning" />
<Rule Id="C28252" Action="Warning" />
<Rule Id="C28253" Action="Warning" />
<Rule Id="C28254" Action="Warning" />
<Rule Id="C28260" Action="Warning" />
<Rule Id="C28262" Action="Warning" />
<Rule Id="C28263" Action="Warning" />
<Rule Id="C28266" Action="Warning" />
<Rule Id="C28267" Action="Warning" />
<Rule Id="C28272" Action="Warning" />
<Rule Id="C28273" Action="Warning" />
<Rule Id="C28275" Action="Warning" />
<Rule Id="C28278" Action="Warning" />
<Rule Id="C28279" Action="Warning" />
<Rule Id="C28280" Action="Warning" />
<Rule Id="C28282" Action="Warning" />
<Rule Id="C28283" Action="Warning" />
<Rule Id="C28284" Action="Warning" />
<Rule Id="C28285" Action="Warning" />
<Rule Id="C28286" Action="Warning" />
<Rule Id="C28287" Action="Warning" />
<Rule Id="C28288" Action="Warning" />
<Rule Id="C28289" Action="Warning" />
<Rule Id="C28290" Action="Warning" />
<Rule Id="C28291" Action="Warning" />
<Rule Id="C28300" Action="Warning" />
<Rule Id="C28301" Action="Warning" />
<Rule Id="C28302" Action="Warning" />
<Rule Id="C28303" Action="Warning" />
<Rule Id="C28304" Action="Warning" />
<Rule Id="C28305" Action="Warning" />
<Rule Id="C28306" Action="Warning" />
<Rule Id="C28307" Action="Warning" />
<Rule Id="C28308" Action="Warning" />
<Rule Id="C28309" Action="Warning" />
<Rule Id="C28350" Action="Warning" />
<Rule Id="C28351" Action="Warning" />
<Rule Id="C28601" Action="Warning" />
<Rule Id="C28602" Action="Warning" />
<Rule Id="C28604" Action="Warning" />
<Rule Id="C28615" Action="Warning" />
<Rule Id="C28616" Action="Warning" />
<Rule Id="C28617" Action="Warning" />
<Rule Id="C28623" Action="Warning" />
<Rule Id="C28624" Action="Warning" />
<Rule Id="C28625" Action="Warning" />
<Rule Id="C28636" Action="Warning" />
<Rule Id="C28637" Action="Warning" />
<Rule Id="C28638" Action="Warning" />
<Rule Id="C28639" Action="Warning" />
<Rule Id="C28640" Action="Warning" />
<Rule Id="C28645" Action="Warning" />
<Rule Id="C28648" Action="Warning" />
<Rule Id="C28649" Action="Warning" />
<Rule Id="C28650" Action="Warning" />
<Rule Id="C28714" Action="Warning" />
<Rule Id="C28715" Action="Warning" />
<Rule Id="C28716" Action="Warning" />
<Rule Id="C28717" Action="Warning" />
<Rule Id="C28719" Action="Warning" />
<Rule Id="C28720" Action="Warning" />
<Rule Id="C28721" Action="Warning" />
<Rule Id="C28726" Action="Warning" />
<Rule Id="C28727" Action="Warning" />
<Rule Id="C28730" Action="Warning" />
<Rule Id="C28735" Action="Warning" />
<Rule Id="C28736" Action="Warning" />
<Rule Id="C28750" Action="Warning" />
<Rule Id="C28751" Action="Warning" />
<Rule Id="C6001" Action="Warning" />
<Rule Id="C6011" Action="Warning" />
<Rule Id="C6014" Action="Warning" />
<Rule Id="C6029" Action="Warning" />
<Rule Id="C6031" Action="Warning" />
<Rule Id="C6053" Action="Warning" />
<Rule Id="C6054" Action="Warning" />
<Rule Id="C6059" Action="Warning" />
<Rule Id="C6063" Action="Warning" />
<Rule Id="C6064" Action="Warning" />
<Rule Id="C6066" Action="Warning" />
<Rule Id="C6067" Action="Warning" />
<Rule Id="C6101" Action="Warning" />
<Rule Id="C6200" Action="Warning" />
<Rule Id="C6201" Action="Warning" />
<Rule Id="C6211" Action="Warning" />
<Rule Id="C6214" Action="Warning" />
<Rule Id="C6215" Action="Warning" />
<Rule Id="C6216" Action="Warning" />
<Rule Id="C6217" Action="Warning" />
<Rule Id="C6219" Action="Warning" />
<Rule Id="C6220" Action="Warning" />
<Rule Id="C6221" Action="Warning" />
<Rule Id="C6225" Action="Warning" />
<Rule Id="C6226" Action="Warning" />
<Rule Id="C6230" Action="Warning" />
<Rule Id="C6235" Action="Warning" />
<Rule Id="C6236" Action="Warning" />
<Rule Id="C6237" Action="Warning" />
<Rule Id="C6239" Action="Warning" />
<Rule Id="C6240" Action="Warning" />
<Rule Id="C6242" Action="Warning" />
<Rule Id="C6244" Action="Warning" />
<Rule Id="C6246" Action="Warning" />
<Rule Id="C6248" Action="Warning" />
<Rule Id="C6250" Action="Warning" />
<Rule Id="C6255" Action="Warning" />
<Rule Id="C6258" Action="Warning" />
<Rule Id="C6259" Action="Warning" />
<Rule Id="C6260" Action="Warning" />
<Rule Id="C6262" Action="Warning" />
<Rule Id="C6263" Action="Warning" />
<Rule Id="C6268" Action="Warning" />
<Rule Id="C6269" Action="Warning" />
<Rule Id="C6270" Action="Warning" />
<Rule Id="C6271" Action="Warning" />
<Rule Id="C6272" Action="Warning" />
<Rule Id="C6273" Action="Warning" />
<Rule Id="C6274" Action="Warning" />
<Rule Id="C6276" Action="Warning" />
<Rule Id="C6277" Action="Warning" />
<Rule Id="C6278" Action="Warning" />
<Rule Id="C6279" Action="Warning" />
<Rule Id="C6280" Action="Warning" />
<Rule Id="C6281" Action="Warning" />
<Rule Id="C6282" Action="Warning" />
<Rule Id="C6283" Action="Warning" />
<Rule Id="C6284" Action="Warning" />
<Rule Id="C6285" Action="Warning" />
<Rule Id="C6286" Action="Warning" />
<Rule Id="C6287" Action="Warning" />
<Rule Id="C6288" Action="Warning" />
<Rule Id="C6289" Action="Warning" />
<Rule Id="C6290" Action="Warning" />
<Rule Id="C6291" Action="Warning" />
<Rule Id="C6292" Action="Warning" />
<Rule Id="C6293" Action="Warning" />
<Rule Id="C6294" Action="Warning" />
<Rule Id="C6295" Action="Warning" />
<Rule Id="C6296" Action="Warning" />
<Rule Id="C6297" Action="Warning" />
<Rule Id="C6298" Action="Warning" />
<Rule Id="C6299" Action="Warning" />
<Rule Id="C6302" Action="Warning" />
<Rule Id="C6303" Action="Warning" />
<Rule Id="C6305" Action="Warning" />
<Rule Id="C6306" Action="Warning" />
<Rule Id="C6308" Action="Warning" />
<Rule Id="C6310" Action="Warning" />
<Rule Id="C6312" Action="Warning" />
<Rule Id="C6313" Action="Warning" />
<Rule Id="C6314" Action="Warning" />
<Rule Id="C6315" Action="Warning" />
<Rule Id="C6316" Action="Warning" />
<Rule Id="C6317" Action="Warning" />
<Rule Id="C6318" Action="Warning" />
<Rule Id="C6319" Action="Warning" />
<Rule Id="C6320" Action="Warning" />
<Rule Id="C6322" Action="Warning" />
<Rule Id="C6323" Action="Warning" />
<Rule Id="C6324" Action="Warning" />
<Rule Id="C6326" Action="Warning" />
<Rule Id="C6328" Action="Warning" />
<Rule Id="C6329" Action="Warning" />
<Rule Id="C6330" Action="Warning" />
<Rule Id="C6331" Action="Warning" />
<Rule Id="C6332" Action="Warning" />
<Rule Id="C6333" Action="Warning" />
<Rule Id="C6334" Action="Warning" />
<Rule Id="C6335" Action="Warning" />
<Rule Id="C6336" Action="Warning" />
<Rule Id="C6340" Action="Warning" />
<Rule Id="C6381" Action="Warning" />
<Rule Id="C6383" Action="Warning" />
<Rule Id="C6384" Action="Warning" />
<Rule Id="C6385" Action="Warning" />
<Rule Id="C6386" Action="Warning" />
<Rule Id="C6387" Action="Warning" />
<Rule Id="C6388" Action="Warning" />
<Rule Id="C6400" Action="Warning" />
<Rule Id="C6401" Action="Warning" />
<Rule Id="C6411" Action="Warning" />
<Rule Id="C6412" Action="Warning" />
<Rule Id="C6500" Action="Warning" />
<Rule Id="C6501" Action="Warning" />
<Rule Id="C6503" Action="Warning" />
<Rule Id="C6504" Action="Warning" />
<Rule Id="C6505" Action="Warning" />
<Rule Id="C6506" Action="Warning" />
<Rule Id="C6508" Action="Warning" />
<Rule Id="C6509" Action="Warning" />
<Rule Id="C6510" Action="Warning" />
<Rule Id="C6511" Action="Warning" />
<Rule Id="C6513" Action="Warning" />
<Rule Id="C6514" Action="Warning" />
<Rule Id="C6515" Action="Warning" />
<Rule Id="C6516" Action="Warning" />
<Rule Id="C6517" Action="Warning" />
<Rule Id="C6518" Action="Warning" />
<Rule Id="C6522" Action="Warning" />
<Rule Id="C6525" Action="Warning" />
<Rule Id="C6527" Action="Warning" />
<Rule Id="C6530" Action="Warning" />
<Rule Id="C6540" Action="Warning" />
<Rule Id="C6551" Action="Warning" />
<Rule Id="C6552" Action="Warning" />
<Rule Id="C6701" Action="Warning" />
<Rule Id="C6702" Action="Warning" />
<Rule Id="C6703" Action="Warning" />
<Rule Id="C6704" Action="Warning" />
<Rule Id="C6705" Action="Warning" />
<Rule Id="C6706" Action="Warning" />
<Rule Id="C6707" Action="Warning" />
<Rule Id="C6993" Action="Warning" />
<Rule Id="C6995" Action="Warning" />
<Rule Id="C6997" Action="Warning" />
</Rules>
<Rules AnalyzerId="PublicApiAnalyzer" RuleNamespace="PublicApiAnalyzer">
<Rule Id="RS0016" Action="Error" />
<Rule Id="RS0017" Action="Error" />
<Rule Id="RS0022" Action="Error" />
<Rule Id="RS0024" Action="Error" />
<Rule Id="RS0025" Action="Error" />
</Rules>
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="SA1000" Action="Error" />
<Rule Id="SA1001" Action="Error" />
<Rule Id="SA1002" Action="Error" />
<Rule Id="SA1003" Action="Error" />
<Rule Id="SA1004" Action="Error" />
<Rule Id="SA1005" Action="Error" />
<Rule Id="SA1006" Action="Error" />
<Rule Id="SA1007" Action="Error" />
<Rule Id="SA1008" Action="Error" />
<Rule Id="SA1009" Action="Error" />
<Rule Id="SA1010" Action="Error" />
<Rule Id="SA1011" Action="Error" />
<Rule Id="SA1012" Action="Error" />
<Rule Id="SA1013" Action="Error" />
<Rule Id="SA1014" Action="Error" />
<Rule Id="SA1015" Action="Error" />
<Rule Id="SA1016" Action="Error" />
<Rule Id="SA1017" Action="Error" />
<Rule Id="SA1018" Action="Error" />
<Rule Id="SA1019" Action="Error" />
<Rule Id="SA1020" Action="Error" />
<Rule Id="SA1021" Action="Error" />
<Rule Id="SA1022" Action="Error" />
<Rule Id="SA1023" Action="Error" />
<Rule Id="SA1024" Action="Error" />
<Rule Id="SA1025" Action="Error" />
<Rule Id="SA1026" Action="Error" />
<Rule Id="SA1027" Action="Error" />
<Rule Id="SA1028" Action="None" />
<Rule Id="SA1100" Action="Error" />
<Rule Id="SA1101" Action="Error" />
<Rule Id="SA1102" Action="Error" />
<Rule Id="SA1103" Action="Error" />
<Rule Id="SA1104" Action="Error" />
<Rule Id="SA1105" Action="Error" />
<Rule Id="SA1106" Action="Error" />
<Rule Id="SA1107" Action="Error" />
<Rule Id="SA1108" Action="Error" />
<Rule Id="SA1110" Action="Error" />
<Rule Id="SA1111" Action="Error" />
<Rule Id="SA1112" Action="Error" />
<Rule Id="SA1113" Action="None" />
<Rule Id="SA1114" Action="None" />
<Rule Id="SA1115" Action="Error" />
<Rule Id="SA1116" Action="None" />
<Rule Id="SA1117" Action="None" />
<Rule Id="SA1118" Action="None" />
<Rule Id="SA1119" Action="Error" />
<Rule Id="SA1120" Action="Error" />
<Rule Id="SA1121" Action="None" />
<Rule Id="SA1122" Action="Error" />
<Rule Id="SA1123" Action="Error" />
<Rule Id="SA1124" Action="None" />
<Rule Id="SA1125" Action="Error" />
<Rule Id="SA1127" Action="None" />
<Rule Id="SA1128" Action="None" />
<Rule Id="SA1129" Action="None" />
<Rule Id="SA1130" Action="Error" />
<Rule Id="SA1131" Action="None" />
<Rule Id="SA1132" Action="None" />
<Rule Id="SA1133" Action="Error" />
<Rule Id="SA1134" Action="None" />
<Rule Id="SA1200" Action="Error" />
<Rule Id="SA1201" Action="Error" />
<Rule Id="SA1202" Action="Error" />
<Rule Id="SA1203" Action="Error" />
<Rule Id="SA1204" Action="Error" />
<Rule Id="SA1205" Action="Error" />
<Rule Id="SA1206" Action="Error" />
<Rule Id="SA1207" Action="Error" />
<Rule Id="SA1208" Action="Error" />
<Rule Id="SA1209" Action="Error" />
<Rule Id="SA1210" Action="Error" />
<Rule Id="SA1211" Action="Error" />
<Rule Id="SA1212" Action="Error" />
<Rule Id="SA1213" Action="Error" />
<Rule Id="SA1214" Action="Error" />
<Rule Id="SA1216" Action="Error" />
<Rule Id="SA1217" Action="Error" />
<Rule Id="SA1300" Action="Error" />
<Rule Id="SA1302" Action="Error" />
<Rule Id="SA1303" Action="Error" />
<Rule Id="SA1304" Action="Error" />
<Rule Id="SA1306" Action="Error" />
<Rule Id="SA1307" Action="Error" />
<Rule Id="SA1308" Action="Error" />
<Rule Id="SA1309" Action="Error" />
<Rule Id="SA1310" Action="Error" />
<Rule Id="SA1311" Action="Error" />
<Rule Id="SA1312" Action="Error" />
<Rule Id="SA1313" Action="Error" />
<Rule Id="SA1400" Action="Error" />
<Rule Id="SA1401" Action="None" />
<Rule Id="SA1402" Action="Error" />
<Rule Id="SA1403" Action="Error" />
<Rule Id="SA1404" Action="Error" />
<Rule Id="SA1405" Action="Error" />
<Rule Id="SA1406" Action="Error" />
<Rule Id="SA1407" Action="Error" />
<Rule Id="SA1408" Action="Error" />
<Rule Id="SA1410" Action="Error" />
<Rule Id="SA1411" Action="Error" />
<Rule Id="SA1500" Action="Error" />
<Rule Id="SA1501" Action="Error" />
<Rule Id="SA1502" Action="Error" />
<Rule Id="SA1503" Action="Error" />
<Rule Id="SA1504" Action="Error" />
<Rule Id="SA1505" Action="Error" />
<Rule Id="SA1506" Action="Error" />
<Rule Id="SA1507" Action="Error" />
<Rule Id="SA1508" Action="Error" />
<Rule Id="SA1509" Action="Error" />
<Rule Id="SA1510" Action="Error" />
<Rule Id="SA1511" Action="Error" />
<Rule Id="SA1512" Action="None" />
<Rule Id="SA1513" Action="Error" />
<Rule Id="SA1514" Action="Error" />
<Rule Id="SA1515" Action="None" />
<Rule Id="SA1516" Action="Error" />
<Rule Id="SA1517" Action="Error" />
<Rule Id="SA1518" Action="Error" />
<Rule Id="SA1519" Action="Error" />
<Rule Id="SA1520" Action="Error" />
<Rule Id="SA1600" Action="None" />
<Rule Id="SA1601" Action="Error" />
<Rule Id="SA1602" Action="Error" />
<Rule Id="SA1604" Action="Error" />
<Rule Id="SA1605" Action="Error" />
<Rule Id="SA1606" Action="Error" />
<Rule Id="SA1607" Action="Error" />
<Rule Id="SA1608" Action="Error" />
<Rule Id="SA1610" Action="Error" />
<Rule Id="SA1611" Action="None" />
<Rule Id="SA1612" Action="Error" />
<Rule Id="SA1613" Action="Error" />
<Rule Id="SA1614" Action="Error" />
<Rule Id="SA1615" Action="None" />
<Rule Id="SA1616" Action="Error" />
<Rule Id="SA1617" Action="Error" />
<Rule Id="SA1618" Action="None" />
<Rule Id="SA1619" Action="Error" />
<Rule Id="SA1620" Action="Error" />
<Rule Id="SA1621" Action="Error" />
<Rule Id="SA1622" Action="Error" />
<Rule Id="SA1623" Action="Error" />
<Rule Id="SA1624" Action="Error" />
<Rule Id="SA1625" Action="Error" />
<Rule Id="SA1626" Action="Error" />
<Rule Id="SA1627" Action="Error" />
<Rule Id="SA1633" Action="None" />
<Rule Id="SA1634" Action="Error" />
<Rule Id="SA1635" Action="Error" />
<Rule Id="SA1636" Action="None" />
<Rule Id="SA1637" Action="Error" />
<Rule Id="SA1638" Action="Error" />
<Rule Id="SA1640" Action="Error" />
<Rule Id="SA1641" Action="Error" />
<Rule Id="SA1642" Action="None" />
<Rule Id="SA1643" Action="Error" />
<Rule Id="SA1648" Action="Error" />
<Rule Id="SA1649" Action="Error" />
<Rule Id="SA1651" Action="Error" />
<Rule Id="SA1652" Action="Error" />
</Rules>
</RuleSet>

Просмотреть файл

@ -11,7 +11,7 @@
<WarningLevel>4</WarningLevel>
<StyleCopEnabled>True</StyleCopEnabled>
<StyleCopTreatErrorsAsWarnings>False</StyleCopTreatErrorsAsWarnings>
<CodeAnalysisRuleSet>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'ApplicationInsightsSDKRules.ruleset'))\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet>$(RulesetsRoot)\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
</PropertyGroup>

Просмотреть файл

@ -1,146 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Copy of DevDivRuleSet" Description="DevDiv required checks." ToolsVersion="15.0">
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1304" Action="Error" />
<Rule Id="CA1305" Action="Error" />
<Rule Id="CA1307" Action="Error" />
<Rule Id="CA1309" Action="Error" />
<Rule Id="CA1401" Action="Error" />
<Rule Id="CA2001" Action="Error" />
<Rule Id="CA2100" Action="Error" />
<Rule Id="CA2102" Action="Error" />
<Rule Id="CA2103" Action="Error" />
<Rule Id="CA2104" Action="Error" />
<Rule Id="CA2105" Action="Error" />
<Rule Id="CA2106" Action="Error" />
<Rule Id="CA2107" Action="Error" />
<Rule Id="CA2108" Action="Error" />
<Rule Id="CA2109" Action="Error" />
<Rule Id="CA2111" Action="Error" />
<Rule Id="CA2112" Action="Error" />
<Rule Id="CA2114" Action="Error" />
<Rule Id="CA2115" Action="Error" />
<Rule Id="CA2116" Action="Error" />
<Rule Id="CA2117" Action="Error" />
<Rule Id="CA2118" Action="Error" />
<Rule Id="CA2119" Action="Error" />
<Rule Id="CA2120" Action="Error" />
<Rule Id="CA2121" Action="Error" />
<Rule Id="CA2122" Action="Error" />
<Rule Id="CA2123" Action="Error" />
<Rule Id="CA2124" Action="Error" />
<Rule Id="CA2126" Action="Error" />
<Rule Id="CA2130" Action="Error" />
<Rule Id="CA2131" Action="Error" />
<Rule Id="CA2132" Action="Error" />
<Rule Id="CA2133" Action="Error" />
<Rule Id="CA2134" Action="Error" />
<Rule Id="CA2135" Action="Error" />
<Rule Id="CA2136" Action="Error" />
<Rule Id="CA2137" Action="Error" />
<Rule Id="CA2138" Action="Error" />
<Rule Id="CA2139" Action="Error" />
<Rule Id="CA2140" Action="Error" />
<Rule Id="CA2141" Action="Error" />
<Rule Id="CA2142" Action="Error" />
<Rule Id="CA2143" Action="Error" />
<Rule Id="CA2144" Action="Error" />
<Rule Id="CA2145" Action="Error" />
<Rule Id="CA2146" Action="Error" />
<Rule Id="CA2147" Action="Error" />
<Rule Id="CA2149" Action="Error" />
<Rule Id="CA2151" Action="Error" />
<Rule Id="CA2153" Action="Error" />
<Rule Id="CA2219" Action="Error" />
<Rule Id="CA2233" Action="Error" />
<Rule Id="CA2234" Action="Error" />
<Rule Id="CA3001" Action="Error" />
<Rule Id="CA3002" Action="Error" />
<Rule Id="CA3003" Action="Error" />
<Rule Id="CA3004" Action="Error" />
<Rule Id="CA3005" Action="Error" />
<Rule Id="CA3006" Action="Error" />
<Rule Id="CA3007" Action="Error" />
<Rule Id="CA3008" Action="Error" />
<Rule Id="CA3009" Action="Error" />
<Rule Id="CA3010" Action="Error" />
<Rule Id="CA3011" Action="Error" />
<Rule Id="CA3012" Action="Error" />
<Rule Id="CA3050" Action="Error" />
<Rule Id="CA3051" Action="Error" />
<Rule Id="CA3052" Action="Error" />
<Rule Id="CA3053" Action="Error" />
<Rule Id="CA3054" Action="Error" />
<Rule Id="CA3055" Action="Error" />
<Rule Id="CA3056" Action="Error" />
<Rule Id="CA3057" Action="Error" />
<Rule Id="CA3058" Action="Error" />
<Rule Id="CA3059" Action="Error" />
<Rule Id="CA3060" Action="Error" />
<Rule Id="CA3061" Action="Error" />
<Rule Id="CA3062" Action="Error" />
<Rule Id="CA3063" Action="Error" />
<Rule Id="CA3064" Action="Error" />
<Rule Id="CA3065" Action="Error" />
<Rule Id="CA3066" Action="Error" />
<Rule Id="CA3067" Action="Error" />
<Rule Id="CA3068" Action="Error" />
<Rule Id="CA3069" Action="Error" />
<Rule Id="CA3070" Action="Error" />
<Rule Id="CA3071" Action="Error" />
<Rule Id="CA3072" Action="Error" />
<Rule Id="CA3073" Action="Error" />
<Rule Id="CA3074" Action="Error" />
<Rule Id="CA3101" Action="Error" />
<Rule Id="CA3102" Action="Error" />
<Rule Id="CA3103" Action="Error" />
<Rule Id="CA3104" Action="Error" />
<Rule Id="CA3105" Action="Error" />
<Rule Id="CA3106" Action="Error" />
<Rule Id="CA3107" Action="Error" />
<Rule Id="CA3108" Action="Error" />
<Rule Id="CA3109" Action="Error" />
<Rule Id="CA3110" Action="Error" />
<Rule Id="CA3111" Action="Error" />
<Rule Id="CA3112" Action="Error" />
<Rule Id="CA3113" Action="Error" />
<Rule Id="CA3114" Action="Error" />
<Rule Id="CA3115" Action="Error" />
<Rule Id="CA3116" Action="Error" />
<Rule Id="CA3117" Action="Error" />
<Rule Id="CA3118" Action="Error" />
<Rule Id="CA3119" Action="Error" />
<Rule Id="CA3120" Action="Error" />
<Rule Id="CA3121" Action="Error" />
<Rule Id="CA3122" Action="Error" />
<Rule Id="CA3123" Action="Error" />
<Rule Id="CA3124" Action="Error" />
<Rule Id="CA3125" Action="Error" />
<Rule Id="CA3127" Action="Error" />
<Rule Id="CA3129" Action="Error" />
<Rule Id="CA3130" Action="Error" />
<Rule Id="CA3131" Action="Error" />
<Rule Id="CA3132" Action="Error" />
<Rule Id="CA3133" Action="Error" />
<Rule Id="CA3134" Action="Error" />
<Rule Id="CA3135" Action="Error" />
<Rule Id="CA3137" Action="Error" />
<Rule Id="CA3138" Action="Error" />
<Rule Id="CA3139" Action="Error" />
<Rule Id="CA3140" Action="Error" />
<Rule Id="CA3141" Action="Error" />
<Rule Id="CA3142" Action="Error" />
<Rule Id="CA3143" Action="Error" />
<Rule Id="CA3145" Action="Error" />
<Rule Id="CA3146" Action="Error" />
<Rule Id="CA5122" Action="Error" />
<Rule Id="CA5350" Action="Error" />
<Rule Id="CA5351" Action="Error" />
<Rule Id="CA5352" Action="Error" />
<Rule Id="CA5353" Action="Error" />
<Rule Id="CA5354" Action="Error" />
<Rule Id="CA5355" Action="Error" />
<Rule Id="CA5356" Action="Error" />
<Rule Id="CA5357" Action="Error" />
</Rules>
</RuleSet>

Просмотреть файл

@ -1,194 +0,0 @@
Param(
[Parameter(Mandatory=$true,HelpMessage="Path to Artifact files (nupkg):")]
[string]
$artifactsPath,
[Parameter(Mandatory=$true,HelpMessage="Path to Source files (changelog):")]
[string]
$sourcePath,
[Parameter(Mandatory=$false,HelpMessage="Path to save metadata:")]
[string]
$outPath
)
class PackageInfo {
[string]$Name
[string]$NuspecVersion
[string]$DllVersion
[string]$MyGetUri
PackageInfo([string]$name, [string]$nuspecVersion, [string]$dllVersion) {
$this.Name = $name
$this.NuspecVersion = $nuspecVersion
$this.DllVersion = $dllVersion
$mygetBasePath = "https://www.myget.org/feed/applicationinsights/package/nuget/{0}/{1}"
$this.MyGetUri = $mygetBasePath -f $name, $nuspecVersion
}
}
class ReleaseInfo {
[string]$ReleaseName
[string]$ReleaseVersion
[string]$NuspecVersion
[string]$FormattedReleaseName
[bool]$IsPreRelease
[string]$CommitId
[string]$ChangeLog
[PackageInfo[]]$Packages
}
Function Get-GitChangeset() {
# if running localy, use git command. for VSTS, probably better to use Build.SourceVersion
# Git command only works if this script executes in the repo's directory
[string]$commit = ""
try {
$commit = $(Build.SourceVersion)
} catch {
try {
$commit = git log -1 --format=%H
} catch {
$commit = "not found"
}
}
Write-Host "Git Commit: $commit"
return [string]$commit
}
function Get-NuspecVersionName ([string]$version) {
# get everything up to word "-build" (ex: "1.2.3-beta1-build1234 returns: "1.2.3-beta1")
# get everything (ex: "1.2.3-beta1 returns: "1.2.3-beta1")
# get everything (ex: "1.2.3 returns: "1.2.3")
$splitVersion = $version.split('-')
if($splitVersion.Length -gt 2 ) {
return $splitVersion[0]+"-"+$splitVersion[1]
} else {
return $version
}
}
function Invoke-UnZip([string]$zipfile, [string]$outpath) {
Write-Verbose "Unzip - source: $zipfile"
Write-Verbose "Unzip - target: $outpath"
Add-Type -assembly "system.io.compression.filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
}
function Get-PackageInfoFromNupkg([string]$nupkgPath) {
$unzipPath = $nupkgPath+"_unzip"
$null = Invoke-UnZip $nupkgPath $unzipPath
$nuspecPath = Get-ChildItem -Path $unzipPath -Recurse -Filter *.nuspec | Select-Object -First 1
Write-Verbose ("Found Nuspec: " + $nuspecPath.FullName)
[xml]$nuspec = Get-Content $nuspecPath.FullName
$name = $nuspec.package.metadata.id
$nuspecVersion = $nuspec.package.metadata.version
$dllPath = Get-ChildItem -Path $unzipPath -Recurse -Filter *.dll | Select-Object -First 1
Write-Verbose ("Found Dll: " + $dllPath.FullName)
$dllVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($dllPath.FullName).FileVersion
return [PackageInfo]::new($name, $nuspecVersion, $dllVersion)
}
function Get-ReleaseMetaData ([string]$artifactsPath, [string]$sourcePath) {
$object = [ReleaseInfo]::new()
$object.CommitId = Get-GitChangeset
$object.Packages = $()
Get-ChildItem -Path $artifactsPath -Recurse -Filter *.nupkg -Exclude *.symbols.nupkg |
ForEach-Object { $object.Packages += Get-PackageInfoFromNupkg $_.FullName }
$object.NuspecVersion = $object.Packages[0].NuspecVersion
$object.ReleaseName = Get-NuspecVersionName($object.Packages[0].NuspecVersion)
$object.ReleaseVersion = $object.Packages[0].DllVersion
$object.FormattedReleaseName = "$($object.ReleaseName) ($($object.ReleaseVersion))"
$object.IsPreRelease = [bool]($object.ReleaseName -like "*beta*")
$object.ChangeLog = Get-ChangelogText $sourcePath $object.ReleaseName
return $object
}
Function Get-ChangelogText ([string]$sourcePath, [string]$versionName) {
$sb = [System.Text.StringBuilder]::new()
$saveLines = $false
$readFile = $true
$changelogPath = Get-ChildItem -Path $sourcePath -Recurse -Filter changelog.md | Select-Object -First 1
Write-Verbose "Changelog Found: $changelogPath"
Get-Content -Path $changelogPath.FullName | ForEach-Object {
if($readFile) {
if($saveLines) {
if($_ -like "##*") {
Write-Verbose "STOP at $_"
$readFile = $false
}
if($readFile) {
[void]$sb.AppendLine($_)
}
} else {
if(($_ -like "##*") -and ($_ -match $versionName)) {
$saveLines = $true
Write-Verbose "START at $_"
}
}
}
}
return $sb.ToString()
}
Function Save-ToXml([string]$outPath, [ReleaseInfo]$object) {
$outFilePath = Join-Path $outPath "releaseMetaData.xml"
$xmlWriter = [System.XMl.XmlTextWriter]::new($outFilePath, $Null)
$xmlWriter.Formatting = "Indented"
$xmlWriter.Indentation = 1
$XmlWriter.IndentChar = "`t"
# write the header
$xmlWriter.WriteStartDocument()
# create root node:
$xmlWriter.WriteStartElement("MetaData")
$XmlWriter.WriteElementString("ReleaseName", $object.ReleaseName)
$XmlWriter.WriteElementString("ReleaseVersion", $object.ReleaseVersion)
$XmlWriter.WriteElementString("FormattedReleaseName", $object.FormattedReleaseName)
$XmlWriter.WriteElementString("NuspecVersion", $object.NuspecVersion)
$XmlWriter.WriteElementString("IsPreRelease", $object.IsPreRelease)
$XmlWriter.WriteElementString("CommitId", $object.CommitId)
$XmlWriter.WriteElementString("ChangeLog", $object.ChangeLog)
$XmlWriter.WriteStartElement("Packages")
$object.Packages | ForEach-Object {
$XmlWriter.WriteStartElement("Package")
$XmlWriter.WriteElementString("Name", $_.Name)
$XmlWriter.WriteElementString("NuspecVersion", $_.NuspecVersion)
$XmlWriter.WriteElementString("DllVersion", $_.DllVersion)
$XmlWriter.WriteElementString("MyGetUri", $_.MyGetUri)
$XmlWriter.WriteEndElement()
}
$XmlWriter.WriteEndElement()
# close the root node:
$xmlWriter.WriteEndElement()
# finalize the document:
$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()
}
# 1) GET META DATA FROM ARTIFACTS
$metaData = Get-ReleaseMetaData $artifactsPath $sourcePath
Write-Output $metaData
$metaData.Packages | ForEach-Object { Write-Output $_ }
# 2) SAVE
Save-ToXml $outPath $metaData

Просмотреть файл

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="SDL Recommended Rules" Description="These rules focus on the most critical security problems in your code. You should include this rule set in any custom rule set you create for your projects." ToolsVersion="15.0">
<Rules AnalyzerId="Desktop.CSharp.Analyzers" RuleNamespace="Desktop.CSharp.Analyzers">
<Rule Id="CA1001" Action="Warning" />
<Rule Id="CA1009" Action="Warning" />
<Rule Id="CA1016" Action="Warning" />
<Rule Id="CA1033" Action="Warning" />
<Rule Id="CA1049" Action="Warning" />
<Rule Id="CA1060" Action="Warning" />
<Rule Id="CA1061" Action="Warning" />
<Rule Id="CA1063" Action="Warning" />
<Rule Id="CA1065" Action="Warning" />
<Rule Id="CA1301" Action="Warning" />
<Rule Id="CA1400" Action="Warning" />
<Rule Id="CA1401" Action="Warning" />
<Rule Id="CA1403" Action="Warning" />
<Rule Id="CA1404" Action="Warning" />
<Rule Id="CA1405" Action="Warning" />
<Rule Id="CA1410" Action="Warning" />
<Rule Id="CA1415" Action="Warning" />
<Rule Id="CA1821" Action="Warning" />
<Rule Id="CA1900" Action="Warning" />
<Rule Id="CA1901" Action="Warning" />
<Rule Id="CA2002" Action="Warning" />
<Rule Id="CA2100" Action="Warning" />
<Rule Id="CA2101" Action="Warning" />
<Rule Id="CA2108" Action="Warning" />
<Rule Id="CA2111" Action="Warning" />
<Rule Id="CA2112" Action="Warning" />
<Rule Id="CA2114" Action="Warning" />
<Rule Id="CA2116" Action="Warning" />
<Rule Id="CA2117" Action="Warning" />
<Rule Id="CA2122" Action="Warning" />
<Rule Id="CA2123" Action="Warning" />
<Rule Id="CA2124" Action="Warning" />
<Rule Id="CA2126" Action="Warning" />
<Rule Id="CA2131" Action="Warning" />
<Rule Id="CA2132" Action="Warning" />
<Rule Id="CA2133" Action="Warning" />
<Rule Id="CA2134" Action="Warning" />
<Rule Id="CA2137" Action="Warning" />
<Rule Id="CA2138" Action="Warning" />
<Rule Id="CA2140" Action="Warning" />
<Rule Id="CA2141" Action="Warning" />
<Rule Id="CA2146" Action="Warning" />
<Rule Id="CA2147" Action="Warning" />
<Rule Id="CA2149" Action="Warning" />
<Rule Id="CA2200" Action="Warning" />
<Rule Id="CA2202" Action="Warning" />
<Rule Id="CA2207" Action="Warning" />
<Rule Id="CA2212" Action="Warning" />
<Rule Id="CA2213" Action="Warning" />
<Rule Id="CA2214" Action="Warning" />
<Rule Id="CA2216" Action="Warning" />
<Rule Id="CA2220" Action="Warning" />
<Rule Id="CA2229" Action="Warning" />
<Rule Id="CA2231" Action="Warning" />
<Rule Id="CA2232" Action="Warning" />
<Rule Id="CA2235" Action="Warning" />
<Rule Id="CA2236" Action="Warning" />
<Rule Id="CA2237" Action="Warning" />
<Rule Id="CA2238" Action="Warning" />
<Rule Id="CA2240" Action="Warning" />
<Rule Id="CA2241" Action="Warning" />
<Rule Id="CA2242" Action="Warning" />
<Rule Id="CA2153" Action="Warning" />
<Rule Id="CA3075" Action="Warning" />
<Rule Id="CA3076" Action="Warning" />
<Rule Id="CA3077" Action="Warning" />
<Rule Id="CA5350" Action="Warning" />
<Rule Id="CA5351" Action="Warning" />
</Rules>
</RuleSet>

Просмотреть файл

@ -7,7 +7,7 @@
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<StyleCopEnabled>True</StyleCopEnabled>
<StyleCopTreatErrorsAsWarnings>False</StyleCopTreatErrorsAsWarnings>
<CodeAnalysisRuleSet>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'ApplicationInsightsSDKRules.ruleset'))\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet>$(RulesetsRoot)\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
</PropertyGroup>

Просмотреть файл

@ -1,53 +0,0 @@
[CmdletBinding()]
Param(
# C:\Repos\bin\Debug\Src
[string]$buildDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "bin\Debug\Src") ,
# C:\Repos\binSkim
[string]$binSkimDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "binSkim")
)
# these are dlls that end up in the bin, but do not belong to us and don't need to be scanned.
$excludedFiles = @("Microsoft.Web.Infrastructure.dll")
Write-Host "`nPARAMETERS:";
Write-Host "`tbuildDirectory:" $buildDirectory;
Write-Host "`tbinSkimDirectory:" $binSkimDirectory;
# don't need to clean folder on build server, but is needed for local dev
Write-Host "`nCreate BinSkim Directory...";
if (Test-Path $binSkimDirectory) { Remove-Item $binSkimDirectory -Recurse; }
# copy all
Write-Host "`nCopy all files...";
Copy-Item -Path $buildDirectory -Filter "*.dll" -Destination $binSkimDirectory -Recurse;
# delete test directories
Write-Host "`nDelete any 'Test' directories...";
Get-ChildItem -Path $binSkimDirectory -Recurse -Directory |
Where-Object {$_ -match "Test"} |
Remove-Item -Recurse;
# delete excluded files
if ($excludedFiles.Count -gt 0) {
Write-Host "`nDelete excluded files...";
Get-ChildItem -Path $binSkimDirectory -Recurse -File |
ForEach-Object {
if ($excludedFiles.Contains($_.Name)) {
Write-Host "Excluded File:" $_.FullName;
Remove-Item $_.FullName;
}
}
}
# summary for log output (file list and count)
Write-Host "`nCopied Files:";
$count = 0;
Get-ChildItem -Path $binSkimDirectory -Recurse -File |
ForEach-Object {
Write-Host "`t"$_.FullName;
$count++;
}
Write-Host "`nTOTAL FILES:" $count;

Просмотреть файл

@ -1,99 +0,0 @@
[CmdletBinding()]
Param(
# C:\Repos\bin\Debug\Src
[string]$buildDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "bin\Debug") ,
# C:\Repos\fxCop
[string]$fxCopDirectory = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Split-Path -parent $PSCommandPath))) -ChildPath "fxCop")
)
function IsFileDependency {
[CmdletBinding()]
param
(
$file
)
$dependencyFiles | ForEach-Object {
if($file.Name -eq $_) {
return $true;
}
}
return $false;
}
# these are dlls that end up in the bin, but do not belong to us and don't need to be scanned.
$excludedFiles = @(
"Microsoft.ApplicationInsights.TestFramework.Net45.dll",
"Microsoft.ApplicationInsights.TestFramework.Net45.pdb");
$dependencyFiles = @(
"Microsoft.AI.Agent.Intercept.dll",
"Microsoft.ApplicationInsights.dll",
"Microsoft.AspNet.TelemetryCorrelation.dll",
"Microsoft.Web.Infrastructure.dll",
"System.Diagnostics.DiagnosticSource.dll");
Write-Host "`nPARAMETERS:";
Write-Host "`tbuildDirectory:" $buildDirectory;
Write-Host "`tfxCopDirectory:" $fxCopDirectory;
$fxCopTargetDir = Join-Path -Path $fxCopDirectory -ChildPath "target";
$fxCopDependenciesDir = Join-Path -Path $fxCopDirectory -ChildPath "dependencies";
$frameworks = @("net45", "net46", "netstandard1.6");
# don't need to clean folder on build server, but is needed for local dev
Write-Host "`nCreate FxCop Directory...";
if (Test-Path $fxCopDirectory) { Remove-Item $fxCopDirectory -Recurse; }
# copy all
Write-Host "`nCopy all files (excluding 'Test' directories)...";
Get-ChildItem -Path $buildDirectory -Recurse -File -Include *.dll, *.pdb |
ForEach-Object {
$file = $_;
# exclude test files
if ($file.Directory -match "Test") {
return;
}
#find matching framework
$frameworks | ForEach-Object {
if($file.Directory -match $_) {
$framework = $_;
#is this file a dependency
if (IsFileDependency($file)) {
Copy-Item $file.FullName -Destination (New-Item (Join-Path -Path $fxCopDependenciesDir -ChildPath $framework) -Type container -Force) -Force;
} else {
Copy-Item $file.FullName -Destination (New-Item (Join-Path -Path $fxCopTargetDir -ChildPath $framework) -Type container -Force) -Force;
}
}
}
}
# delete excluded files
if ($excludedFiles.Count -gt 0) {
Write-Host "`nDelete excluded files...";
Get-ChildItem -Path $fxCopDirectory -Recurse -File |
ForEach-Object {
if ($excludedFiles.Contains($_.Name)) {
Write-Host "Excluded File:" $_.FullName;
Remove-Item $_.FullName;
}
}
}
# summary for log output (file list and count)
Write-Host "`nCopied Files:";
$count = 0;
Get-ChildItem -Path $fxCopDirectory -Recurse -File |
ForEach-Object {
Write-Host "`t"$_.FullName;
$count++;
}
Write-Host "`nTOTAL FILES:" $count;

Просмотреть файл

@ -35,7 +35,6 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>..\..\..\ApplicationInsightsSDKRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -1,3 +0,0 @@
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\sn.exe" -Vr *,31bf3856ad364e35
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe" -Vr *,31bf3856ad364e35
# running both the above as a hack which is known to work. Its not clear why both are needed.

Просмотреть файл

@ -1,3 +0,0 @@
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\sn.exe" -Vu *,31bf3856ad364e35
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe" -Vu *,31bf3856ad364e35
# running both the above as a hack which is known to work. Its not clear why both are needed.

Просмотреть файл

@ -1,43 +0,0 @@
$directory = $PSScriptRoot;
Write-Host "Scanning $directory";
$oldVersion = "2.12.0-beta1-build4530"
Write-Host "Old Version: $oldVersion";
##Use this to get the new version from MyGet##
#$newVersion = .\NuGet.exe list "Microsoft.ApplicationInsights" -Source https://www.myget.org/F/applicationinsights -Pre -NonInteractive | Select-String -Pattern "Microsoft.ApplicationInsights " | %{$_.Line.Split(" ")} | Select -skip 1
##Use this to manually set the new version##
$newVersion = "2.12.0-beta1" # this is package version, 2.10.0-beta4 for beta, 2.10.0 for stable
Write-Host "New Version: $newVersion";
$oldAssemblyVersion = "2.11.0.0"
$newAssemblyVersion = "2.12.0.0" # this is assembly version 2.10.0-beta4 for beta, 2.10.0.0 for stable
Write-Host "Old Asembly Version: $oldAssemblyVersion";
Write-Host "New Asembly Version: $newAssemblyVersion";
function Replace ([string] $Filter, [string] $Old, [string] $New) {
Write-Host "";
Write-Host "FILTER: $($Filter) REPLACE: $($Old) with $($New)";
Get-ChildItem -Path $directory -Filter $Filter -Recurse |
foreach-object {
Write-Host " - $($_.FullName)";
(Get-Content $_.FullName) | Foreach-Object { $_ -replace $Old, $New; } | Set-Content $_.FullName
}
}
# <package id="Microsoft.ApplicationInsights" version="2.11.0" targetFramework="net452" />
Replace -Filter "packages.config" -Old $oldVersion -New $newVersion;
# <Reference Include="Microsoft.ApplicationInsights, Version=2.11.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
Replace -Filter "*proj" -Old "Version=$oldAssemblyVersion" -New "Version=$newAssemblyVersion";
# <HintPath>..\..\..\..\packages\Microsoft.ApplicationInsights.2.11.0\lib\net45\Microsoft.ApplicationInsights.dll</HintPath>
# <PackageReference Include="Microsoft.ApplicationInsights" Version="2.11.0" />
Replace -Filter "*proj" -Old $oldVersion -New $newVersion;
Replace -Filter "*.props" -Old $oldVersion -New $newVersion;