Skip to content

Commit dd01ddb

Browse files
authored
Fix assembly issue (#14850)
1 parent 785cd43 commit dd01ddb

File tree

8 files changed

+41
-1
lines changed

8 files changed

+41
-1
lines changed

NuGet.Config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<clear/>
55
<!-- Do not add any additional feeds if new packages are needed they need to come from nuget.org or our azure-sdk-for-net DevOps feed -->
66
<add key="local-feed" value="tools/LocalFeed" />
7-
<add key="myget-azure-powershell" value="https://www.myget.org/F/azure-powershell/api/v3/index.json" />
7+
<add key="azure-powershell" value="https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-powershell/nuget/v3/index.json" />
88
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
99
</packageSources>
1010
<disabledPackageSources>

src/Accounts/Accounts/Accounts.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@
2323
<PreLoadAssemblies Include="$(RepoSrc)lib\System.ServiceModel.Primitives.dll" />
2424
<PreLoadAssemblies Include="$(RepoSrc)lib\Microsoft.Identity.Client\NetFx\Microsoft.Identity.Client.dll" />
2525
<PreLoadAssemblies Include="$(RepoSrc)lib\Microsoft.Identity.Client.Extensions.Msal\NetFx\Microsoft.Identity.Client.Extensions.Msal.dll" />
26+
<PreLoadAssemblies Include="$(RepoSrc)lib\NetCorePreloadAssemblies\Azure.Core.dll" />
27+
<PreLoadAssemblies Include="$(RepoSrc)lib\NetCorePreloadAssemblies\Microsoft.Bcl.AsyncInterfaces.dll" />
2628
<NetCoreAssemblies Include="$(RepoSrc)lib\Microsoft.Identity.Client\NetCore\Microsoft.Identity.Client.dll" />
2729
<NetCoreAssemblies Include="$(RepoSrc)lib\Microsoft.Identity.Client.Extensions.Msal\NetCore\Microsoft.Identity.Client.Extensions.Msal.dll" />
30+
<NetCoreAssemblies Include="$(RepoSrc)lib\NetFxPreloadAssemblies\Azure.Core.dll" />
31+
<NetCoreAssemblies Include="$(RepoSrc)lib\NetFxPreloadAssemblies\Microsoft.Bcl.AsyncInterfaces.dll" />
2832
<StorageDependencies Include="$(RepoSrc)lib\WindowsAzure.Storage\9.3.0\Microsoft.WindowsAzure.Storage.dll" />
2933
<StorageDependencies Include="$(RepoSrc)lib\WindowsAzure.Storage\9.3.0\Microsoft.WindowsAzure.Storage.DataMovement.dll" />
3034
</ItemGroup>
Binary file not shown.
Binary file not shown.
126 KB
Binary file not shown.
Binary file not shown.

tools/CheckAssemblies.ps1

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,32 @@ param(
1717
[System.String]$BuildConfig
1818
)
1919

20+
function Get-PreloadAssemblies{
21+
param(
22+
[Parameter(Mandatory=$True)]
23+
[string] $ModuleFolder
24+
)
25+
26+
$preloadAssemblies = @()
27+
if($PSEdition -eq 'Core') {
28+
$preloadFolderName = "NetCoreAssemblies"
29+
} else {
30+
$preloadFolderName = "PreloadAssemblies"
31+
}
32+
$preloadFolder = [System.IO.Path]::Combine($ModuleFolder, $preloadFolderName)
33+
if(Test-Path $preloadFolder){
34+
$preloadAssemblies = (Get-ChildItem $preloadFolder -Filter "*.dll").Name | ForEach-Object { $_ -replace ".dll", ""}
35+
}
36+
$preloadAssemblies
37+
}
38+
2039
$ProjectPaths = @( "$PSScriptRoot\..\artifacts\$BuildConfig" )
2140
$DependencyMapPath = "$PSScriptRoot\..\artifacts\StaticAnalysisResults\DependencyMap.csv"
2241

2342
$DependencyMap = Import-Csv -Path $DependencyMapPath
2443

44+
45+
.($PSScriptRoot + "\PreloadToolDll.ps1")
2546
$ModuleManifestFiles = $ProjectPaths | ForEach-Object { Get-ChildItem -Path $_ -Filter "*.psd1" -Recurse | Where-Object { $_.FullName -like "*$($BuildConfig)*" -and `
2647
$_.FullName -notlike "*Netcore*" -and `
2748
$_.FullName -notlike "*dll-Help.psd1*" -and `
@@ -38,6 +59,7 @@ foreach ($ModuleManifest in $ModuleManifestFiles) {
3859
$LoadedAssemblies += $ModuleMetadata.RequiredAssemblies
3960
}
4061

62+
$LoadedAssemblies += Get-PreloadAssemblies $ModuleManifest.Directory
4163
$LoadedAssemblies += $ModuleMetadata.NestedModules
4264

4365
if ($ModuleMetadata.RequiredModules) {
@@ -58,9 +80,11 @@ foreach ($ModuleManifest in $ModuleManifestFiles) {
5880
}
5981
$LoadedAssemblies += $ModuleMetadata.NestedModules
6082
}
83+
$LoadedAssemblies += Get-PreloadAssemblies $RequiredModuleManifest.Directory
6184
}
6285
}
6386

87+
$LoadedAssemblies = $LoadedAssemblies | Where-Object { $_ }
6488
$LoadedAssemblies = $LoadedAssemblies | ForEach-Object { $_.Replace(".dll", "") }
6589

6690
$Found = @()

tools/PreloadToolDll.ps1

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Function Load-Dll {
2+
Param(
3+
[string]
4+
$DllPath
5+
)
6+
if (([System.AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.Location -eq $DllPath}).Count -eq 0)
7+
{
8+
$null = [System.Reflection.Assembly]::LoadFrom($DllPath)
9+
}
10+
}
11+
12+
Load-Dll -DllPath ([System.IO.Path]::Combine($PSScriptRoot, '..', 'artifacts', 'StaticAnalysis', 'Tools.Common.dll'))

0 commit comments

Comments
 (0)