Thursday, June 28, 2012

Powershell, SMO, and Add-Member - Not Always BFF

Over the past few weeks, I’ve been working with SMO to implement some maintenance routines across my clients. Because of the nature of most of my clients, Powershell is almost always the answer. I have been trying to simplify the coding of some of these scripts by using Add-Member.
I had some issues with the added property being sporadically (at least I thought) available, so I set out to determine what was going on. Below is the tale of SMO and the Missing Property.

Why Add-Member

The most common use of Add-Member is to build a custom object.
$MyCustomObject = New-Object PSObject

$MyCustomObject | Add-Member -MemberType NoteProperty -Name NewProperty `
    -Value "NewValue"

This is neat; however, that is only the proverbial tip of the iceberg. One of the greatest things about Powershell is that everything, absolutely everything, is an object. Not only is everything an object, Add-Member seems to work on just about every object that is created. This provides an easy way to extend objects to fit the needs of any custom scripts.
$HomeFolder = Get-Item $Env:USERPROFILE

$HomeFolder | Add-Member -MemberType AliasProperty -Name FullPath `
    -Value FullName

$HomeFolder.FullPath

SMO Database – it’s an object, Add-Member will work, Right?

Yup. Well, sometimes. When debugging my scripts, I had no issue. However, when I started to test my scripts in a -noprofile session without debugging, the property that I added was empty.

Here’s an example that adding the property does not work in a Powershell session
$instancename = ".\SQL2008R2"

Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=10.0.0.0, 
    Culture=neutral, PublicKeyToken=89845dcd8080cc91" -ErrorAction Stop

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server ("$InstanceName")

$db = $srv.Databases["master"]

$db | Add-Member -MemberType NoteProperty -Name TestNoteProperty `
    -Value "AmIHere?"
    
$db.TestNoteProperty

If you run this, you get nothing. However, if you use the -PassThru switch on Add-Member and pipe to a Select-Object, it does work, but only in the pipeline. Referencing the new property after the pipeline is done still presents no value.
$instancename = ".\SQL2008R2"

Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=10.0.0.0, 
    Culture=neutral, PublicKeyToken=89845dcd8080cc91" -ErrorAction Stop

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server ("$InstanceName")

$db = $srv.Databases["master"]

$db | Add-Member -MemberType NoteProperty -Name TestNoteProperty `
    -Value "AmIHere?" -PassThru | Select-Object TestNoteProperty
    
$db.TestNoteProperty

Isolating the Problem

When trying to figure this out, I sent the name of the database object to the output so that I could verify that the object was there before I added the custom property. To my surprise, when I did this, the custom property worked.
$instancename = ".\SQL2008R2"

Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=10.0.0.0, 
    Culture=neutral, PublicKeyToken=89845dcd8080cc91" -ErrorAction Stop

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server ("$InstanceName")

$db = $srv.Databases["master"]

#Output the Name to make certain the object is acutally there
$db.Name

$db | Add-Member -MemberType NoteProperty -Name TestNoteProperty `
    -Value "AmIHere?"
    
$db.TestNoteProperty

Wow – so I have to reference a property before I can add one to it? It took a few seconds before I remembered that SMO has “Optimized Performance” and waits to instantiate the object until you need a property. To quote msdn:

The SMO architecture is more efficient in terms of memory because objects are only partially instantiated at first, and minimal property information is requested from the server. Full instantiation of objects is delayed until the object is explicitly referenced. An object is fully instantiated when a property is requested that is not in the set of properties that are first retrieved, or when a method is called that requires such a property. The transition between partially instantiated and fully instantiated objects is transparent to the user.

It’s only a guess that this is the problem, but I have not experienced this problem on any other objects in Powershell. During troubleshooting, I discovered a couple of workarounds

One option that you have as a workaround is to use the New-Object cmdlet to build the object explicitly. This seems to workaround whatever issue there is with the database object.
$db = New-Object Microsoft.SqlServer.Management.Smo.Database ($srv, "master")
As mentioned previously, you can also call an inexpensive property of the database object – like Name. It seems that by doing this, it allows Add-Member to properly add the peroperty.

I debated whether or not to submit this to Connect, then debated where to put it – Powershell or SQL Server. Because this problem seems to go away depending on how I instantiate the object, I decided to submit it to Powershell. If this is important, feel free to up-vote the submission.

About Kyle Neier
Husband of a magnificent woman, father of 5, SQL Server geek,
IndyPASS Vice President and Food Guy, DBA automation zealot, amateur Powershell evangelist. Follow Me on Twitter

Tuesday, June 19, 2012

Enumerating Index Fragmentation with Powershell and SMO

I wish I could say that this was a simple task, but as I dove into SMO and some of its limitations, I soon discovered this would more difficult than I had imagined. I’m happy to share some background and some of the trials I had to overcome so that you might avoid having to take the same path.

Several months ago, I had a client that wanted to receive an index fragmentation report that showed the fragmentation of all indexes across their enterprise in one place. They planned to use this to audit the effectiveness of the maintenance procedures.

Given the flexibility of Powershell for outputting the report, I started there using SMO. I soon realized that there were some instances that were taking a very long time to return results. Unfortunately, in some of these cases, even the less than evil IS lock was creating issues as exclusive table lock escalation was being attempted and denied.

I was very excited to find that the Index class has an EnumFragmentation method. So, I decided that instead of getting the fragmentation an instance at a time, I could get it an index at a time. I could then set an SMO timeout and prevent the locks and IO from taking over the system completely while larger tables were interrogated.

Armed with the new found method, I wrote my loop and eventually had

$Index.EnumFragmentation()

I ran this on a couple of test servers and was confused when I had entire databases that had no information. Even small indexes were not reporting. However, other databases on the same instance had no issue. Not only did other databases have no issue, if a database had any results, it got all of the results. It was all or nothing.

After debugging a little, I soon realized that the 120 second timeout I had put in place was being hit for every index – regardless of size – within a particular database. Those indexes that were providing information were not timing out.

While this seemed odd, my first attempt was to increase the timeout and try again – maybe they were having IO issues the first run. Unfortunately, the second run had the same results. Every index in entire databases was timing out.

I wasn’t experiencing this issue locally, so I ran the code with with a SQL Trace running. Here’s what is run for an individual index:

exec sp_executesql N'
declare @database_id int
select @database_id = db_id()

SELECT
i.name AS [Index_Name],
CAST(i.index_id AS int) AS [Index_ID],
fi.index_depth AS [Depth],
fi.page_count AS [Pages],
fi.record_count AS [Rows],
fi.min_record_size_in_bytes AS [MinimumRecordSize],
fi.max_record_size_in_bytes AS [MaximumRecordSize],
fi.avg_record_size_in_bytes AS [AverageRecordSize],
fi.forwarded_record_count AS [ForwardedRecords],
fi.avg_page_space_used_in_percent AS [AveragePageDensity],
fi.index_type_desc AS [IndexType],
fi.partition_number AS [PartitionNumber],
fi.ghost_record_count AS [GhostRows],
fi.version_ghost_record_count AS [VersionGhostRows],
fi.avg_fragmentation_in_percent AS [AverageFragmentation]
FROM
sys.tables AS tbl
INNER JOIN sys.indexes AS i ON (i.index_id > @_msparam_0 and i.is_hypothetical = @_msparam_1) AND (i.object_id=tbl.object_id)
INNER JOIN sys.dm_db_index_physical_stats(@database_id, NULL, NULL, NULL, ''LIMITED'') AS fi ON fi.object_id=CAST(i.object_id AS int) AND fi.index_id=CAST(i.index_id AS int)
WHERE
(i.name=@_msparam_2)and((tbl.name=@_msparam_3 and SCHEMA_NAME(tbl.schema_id)=@_msparam_4))
ORDER BY
[Index_Name] ASC',N'@_msparam_0 nvarchar(4000),@_msparam_1 nvarchar(4000),@_msparam_2 nvarchar(4000),@_msparam_3 nvarchar(4000),@_msparam_4 nvarchar(4000)',@_msparam_0=N'0',@_msparam_1=N'0',@_msparam_2=N'IX_MyTestTable_1',@_msparam_3=N'MyTestTable',@_msparam_4=N'dbo'

I missed the problem at first, but eventually realized that this was pulling the index fragmentation for the entire database each time it was running! Here is the portion of the command extracted from the trace that is the crux of the issue:

sys.dm_db_index_physical_stats(@database_id, NULL, NULL, NULL, 'LIMITED')

The results coming back to the client were filtered as part of a query predicate, not being fed as inputs to the function. That explained why the entire database worth of indexes timed out – I was scanning the entire database every time I thought I was scanning an index!

That really bugged me. I thought I had come up with an elegant solution and the code behind the scenes made it impossible to use. One of the reasons I generally revert to SMO is that it generally works across different versions of SQL Server and is generally upgrade resistant. So, I tried my command against a SQL 2000 database. To my surprise, the same problem was not present. In the SQL 2000 branch of the code, they use DBCC SHOWCONTIG and limit it in the command – not in the query following.

Ah, but never fear – the flexibility of Powershell is about to shine through. While it is inconvenient, I decided to write my own T-SQL to gather the index fragmentation information. I can use the ExecuteWithResults method of the database object to get the same information I would receive from the EnumFragmentation method of the index without the full database scan penalty.

Below is a script that I use to gather index fragmentation metrics from an instance.

For SQL 2000 instances, it will use the standard EnumFragmentation method. However, for 2005 and above, it will use the SQL string that I initialize in the begin portion of the script.

Back in December, I filed a Connect to Microsoft – the only feedback received is that they are “investigating”. SMO and Powershell are great tools, but when something like this doesn’t work as well as it could, it should really be fixed. If you would like to see this fixed, give it some votes.

About Kyle Neier
Husband of a magnificent woman, father of 5, SQL Server geek,
IndyPASS Vice President and Food Guy, DBA automation zealot, amateur Powershell evangelist. Follow Me on Twitter

param(
[
string]$ClientName = "AnAwesomeClient",
[
string]$ReportFileLocation = "$Env:UserProfile\IndexReport.csv",
[
string]$ConnectionString = ("Data Source=.\SQL2008R2;
Initial Catalog=master;Integrated Security=SSPI;
Application Name=PTI Index Fragmentation Report
")
)

process
{
$sqlConnection = New-Object -TypeName `
System.Data.SqlClient.SqlConnection ($connectionString)
$srvConnection= New-Object -TypeName `
Microsoft.SqlServer.Management.Common.ServerConnection ($sqlConnection)
$srv = New-Object -TypeName `
Microsoft.SqlServer.Management.SMO.Server (
$srvConnection)

#Timeout in Seconds
$srv.ConnectionContext.StatementTimeout = 120

$IndexInfos = @()

foreach($database in $srv.Databases)
{
if(("master", "model", "tempdb") -notcontains $database.Name)
{

foreach($table in $database.Tables)
{
foreach($index in $table.Indexes)
{

if($srv.Version.Major -eq 8)
{
$IndexFragInfo = ($index.EnumFragmentation()).Rows[0];
}
elseif($srv.Version.Major -ge 9)
{
$IndexFragInfo = ($database.ExecuteWithResults(
(
$IndexFragQuery -f $database.ID, $table.ID,
$index.ID))).Tables[0].Rows[0]

}

$IndexInfo = New-IndexInfo

$IndexInfo.Client = $ClientName
$IndexInfo.Instance = $srv.Name
$IndexInfo.DatabaseName = $database.Name
$IndexInfo.TableName = $table.Name
$IndexInfo.IndexName = $index.Name
$IndexInfo.IndexColumns = (
[
string]::join(",", ($index.IndexedColumns |
sort-object @{Expression={$_.ID}; Ascending=$false} |
%{$_.Name})))
$IndexInfo.IsClustered = $index.IsClustered
$IndexInfo.IsUnique = $index.IsUnique
$IndexInfo.SpaceUsed = $index.SpaceUsed
$IndexInfo.Pages = $IndexFragInfo.Pages
$IndexInfo.FillFactor = $index.FillFactor
$IndexInfo.AverageFragmentation = (
$IndexFragInfo.AverageFragmentation)

$IndexInfos += $IndexInfo
}
}
}
}

$IndexInfos | Export-Csv -NoTypeInformation -Path $ReportFileLocation

}



begin
{
#Load SMO
Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91
" -ErrorAction Stop
Add-Type -AssemblyName "Microsoft.SqlServer.ConnectionInfo,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
" `
-ErrorAction Stop

Function New-IndexInfo
{
$IndexInfo = "" | SELECT Client, Instance, DatabaseName, TableName, `
IndexName, IndexColumns, IsClustered, IsUnique, SpaceUsed, Pages,
`
Rows, FillFactor,
AverageFragmentation

$IndexInfo
}

$IndexFragQuery = "SELECT
index_depth AS [Depth],
page_count AS [Pages],
record_count AS [Rows],
min_record_size_in_bytes AS [MinimumRecordSize],
max_record_size_in_bytes AS [MaximumRecordSize],
avg_record_size_in_bytes AS [AverageRecordSize],
forwarded_record_count AS [ForwardedRecords],
avg_page_space_used_in_percent AS [AveragePageDensity],
index_type_desc AS [IndexType],
partition_number AS [PartitionNumber],
ghost_record_count AS [GhostRows],
version_ghost_record_count AS [VersionGhostRows],
avg_fragmentation_in_percent AS [AverageFragmentation]
FROM
sys.dm_db_index_physical_stats({0}, {1}, {2}, NULL, 'LIMITED')
"
}



Wednesday, June 6, 2012

Powershell Add-Type – Where’s That Assembly!

I’ve been working a lot lately with SMO and the differences between the various versions between SQL 2005, 2008, and 2012. Through this process, I’ve come to understand why “[Reflection.Assembly]::LoadWithPartialName” is not a good option in PowerShell. Not only is it obsolete, it doesn’t allow you to choose which version of the SMO library you want to load and always loads the most recent. So, if you have SQL 2005, 2008, and 2012, you’ll get the 2012 versions regardless.

I wanted more control, so started to switch from LoadWithPartialName to Add-Type. I used the following code on my workstation and attempted to load the SMO assembly and it worked just fine.
Add-Type -AssemblyName "Microsoft.SqlServer.SMO"

When I checked what version of the assembly that had loaded, I realized that it had chosen the 2005 version? I thought, great, this does the opposite of LoadWithPartialName and loads the oldest… So, I tried it on box that did not have the 2005 client installed. To my surprise, it failed with the following error:
Add-Type : Could not load file or assembly 'Microsoft.SqlServer.Smo, Version=9.0.242.0, Culture=neutral, 
PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.

A quick Bing search found an interesting Connect posting that offered some explanation. To quote “Microsoft” in the comment “The list is hard coded so that anybody writing “Add-Type –Assembly Microsoft.SqlServer.Smo” gets the same version.” In a similar vein, the documentation for Add-Type states that if “you enter a simple or partial name, Add-Type resolves it to the full name, and then uses the full name to load the assembly”. While this makes some sense, neither of these statements is clear exactly from what list this pulls from.

I spent some time with ProcessMonitor trying to determine if it was getting it from the registry or possibly from a different DLL with no luck. After spending some intimate time Bingling, trying to hit up methods and properties of the AddTypeCommand class, and otherwise coming up empty handed, I decided to take an alternate approach.

All the assemblies that I currently care to load for my work will be stored in one of the six folders of the GAC (Global Assembly Cache) on my Windows 7 Workstation. I decided to take this known list of assemblies and toss it to Add-Type and see what fell out.

The script below will take all of the assembly names that it can find and throw them at the Add-Type cmdlet. If the cmdlet loads the assembly, the current assembly list is examined to determine the full name of the assembly that was loaded.

If the cmdlet fails, the type of failure is recorded. If the assembly could not be loaded because the short name references an assembly that just doesn’t exist. Technically, Add-Type has that assembly in its list, so we can take the information out of the exception and know what the full assembly name was and store that value.

There are several assemblies that Add-Type does not seem to have a reference for. These will throw a custom error of ASSEMBLY_NOT_FOUND which means that the lookup failed. These assemblies are not in the list.

The full code is below. I understand, this is a very resource intensive approach, but there is little other choice that I could find that would tell me what versions the cmdlet would be loading for any given assembly. On my machine, it attempted to load 1073 assemblies (took a while). Of those, I was able to determine that 308 of them are in the Add-Type list. I’ve also included my list below. I do not believe this list to be comprehensive, but I do think it is safe to say that anything on this list reflects the accurate full name that Add-Type will resolve to if you provide a partial name.

About Kyle Neier
Husband of a magnificent woman, father of 5, SQL Server geek, IndyPASS Vice President and Food Guy, DBA automation zealot, amateur Powershell evangelist. Follow Me on Twitter

#Best to Start this in a powershell.exe -noprofile session

$CSVLocation = "$Env:USERPROFILE\Add_Type_Lookup.csv"

#Initialize Array to hold assemblies to attempt to load
$AssemblyNames = @()
$AssemblyReferences = @()

#Get all assemblies currently in the _old_ GAC
Get-ChildItem "C:\Windows\assembly\GAC" | Select -Unique Name |
    ForEach-Object{$AssemblyNames += $_.Name}
    
#32/64 bit compatibles
Get-ChildItem "C:\Windows\assembly\GAC_MSIL" | Select -Unique Name |
    ForEach-Object{if(
        $AssemblyNames -notcontains $_.Name){$AssemblyNames += $_.Name}}

#Get any 32-bit specific assemblies not already loaded
Get-ChildItem "C:\Windows\assembly\GAC_32" | Select -Unique Name |
    ForEach-Object{if(
        $AssemblyNames -notcontains $_.Name){$AssemblyNames += $_.Name}}

#Get any 64-bit specific assemblies
Get-ChildItem "C:\Windows\assembly\GAC_64" | Select -Unique Name |
    ForEach-Object{if(
        $AssemblyNames -notcontains $_.Name){$AssemblyNames += $_.Name}}

#New GAC

#Combined 32/64
Get-ChildItem "C:\Windows\Microsoft.NET\assembly\GAC_MSIL" | 
    Select -Unique Name |
    ForEach-Object{if(
        $AssemblyNames -notcontains $_.Name){$AssemblyNames += $_.Name}}
    
#32 only
Get-ChildItem "C:\Windows\Microsoft.NET\assembly\GAC_32" | 
    Select -Unique Name |
    ForEach-Object{if(
        $AssemblyNames -notcontains $_.Name){$AssemblyNames += $_.Name}}
    
#64 only
Get-ChildItem "C:\Windows\Microsoft.NET\assembly\GAC_64" | 
    Select -Unique Name |
    ForEach-Object{if(
        $AssemblyNames -notcontains $_.Name){$AssemblyNames += $_.Name}}


#Now that I have all the assembly names in my GAC, loop over each of them
#and see how add-type reacts
foreach($AssemblyName in $AssemblyNames)
{
    
    #Create object to throw into array for further evaluation
    $AssemblyReference = "" | select Name, FullName
    
    #The name of the assembly is present, no need to gather that
    #from any of the code below
    $AssemblyReference.Name = $AssemblyName
    
    try
    {
        Add-Type -AssemblyName $AssemblyName -ErrorAction Stop
        
        
        #If there is no error, the assembly is in the hard-coded list within
        #Add-Type, so let's interrogate the current appdomain assembly list 
        #to determine the actual full name that was loaded
        
        $AssemblyReference.FullName = (
            [AppDomain]::CurrentDomain.GetAssemblies() |
                ?{$_.FullName -like "$AssemblyName,*"}).FullName
    }
    catch [System.IO.FileNotFoundException]
    {
        #If the name is in the Add-Type hard-coded list, it attempts to load it
        #If it can't be loaded, it throws a convenient FileNotFoundException
        #Fortunately, the "FileName" is the full name of the assembly
        #that was attempted to be loaded
        
        $AssemblyReference.FullName = $_.Exception.FileName
        
    }
    catch 
    {

        if($_.FullyQualifiedErrorID -like "ASSEMBLY_NOT_FOUND*")
        {
            #Add-Type throws an error of ASSEMBLY_NOT_FOUND if the short name
            #is not in the list - so regardless of how hard we wish, we can't
            #load this assembly unless we use the full name
            $AssemblyReference.FullName = "Not In List"
        }
        else
        {
            #Some other error occured that is not expected
            #Log the fullname as unknown so that it can be evaluated later
            $AssemblyReference.FullName = "UNKNOWN"
        }
    }
    
    #Add the assembly object which has the short and full name to the array
    $AssemblyReferences += $AssemblyReference
}

#Send the array out to a CSV file and open it
$AssemblyReferences | ?{("Not In List") -notcontains $_.FullName} | 
    Sort-Object Name | 
    Export-Csv -NoTypeInformation -Path $CSVLocation

Invoke-Item $CSVLocation

Add-Type Assembly Reference List from my Windows 7 64-bit workstation:

NameFullName
AccessibilityAccessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
ADODBADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
AspNetMMCExtAspNetMMCExt, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
CppCodeProviderCppCodeProvider, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
cscompmgdcscompmgd, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
CustomMarshalersCustomMarshalers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
EnvDTEEnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
EnvDTE80EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
EnvDTE90EnvDTE90, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
EventViewerEventViewer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
EventViewer.ResourcesEventViewer.resources, Version=6.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
ExtensibilityExtensibility, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
IEExecRemoteIEExecRemote, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
IEHostIEHost, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
IIEHostIIEHost, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
ipdmctrlipdmctrl, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
ISymWrapperISymWrapper, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
MFCMIFC80MFCMIFC80, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.AnalysisServicesMicrosoft.AnalysisServices, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.AnalysisServices.AdomdClientMicrosoft.AnalysisServices.AdomdClient, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.AnalysisServices.DeploymentEngineMicrosoft.AnalysisServices.DeploymentEngine, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.Build.Conversion.v3.5Microsoft.Build.Conversion.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.EngineMicrosoft.Build.Engine, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.FrameworkMicrosoft.Build.Framework, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.TasksMicrosoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Tasks.v3.5Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.UtilitiesMicrosoft.Build.Utilities, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Utilities.v3.5Microsoft.Build.Utilities.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.DataWarehouse.InterfacesMicrosoft.DataWarehouse.Interfaces, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.ExceptionMessageBoxMicrosoft.ExceptionMessageBox, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.GroupPolicy.InteropMicrosoft.GroupPolicy.Interop, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.GroupPolicy.ReportingMicrosoft.GroupPolicy.Reporting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.GroupPolicy.Reporting.ResourcesMicrosoft.GroupPolicy.Reporting.resources, Version=2.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.InkMicrosoft.Ink, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.Ink.ResourcesMicrosoft.Ink.resources, Version=6.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.Internal.VisualStudio.Shell.Interop.9.0Microsoft.Internal.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Interop.Security.AzRolesMicrosoft.Interop.Security.AzRoles, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.JScriptMicrosoft.JScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.ManagementConsoleMicrosoft.ManagementConsole, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.ManagementConsole.ResourcesMicrosoft.ManagementConsole.resources, Version=3.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.mshtmlMicrosoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.MSXMLMicrosoft.MSXML, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.NetEnterpriseServers.ExceptionMessageBoxMicrosoft.NetEnterpriseServers.ExceptionMessageBox, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.Office.InfoPathMicrosoft.Office.InfoPath, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.InfoPath.Client.Internal.HostMicrosoft.Office.InfoPath.Client.Internal.Host, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.InfoPath.Client.Internal.Host.InteropMicrosoft.Office.InfoPath.Client.Internal.Host.Interop, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.InfoPath.FormControlMicrosoft.Office.InfoPath.FormControl, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.InfoPath.PermissionMicrosoft.Office.InfoPath.Permission, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.InfoPath.VstaMicrosoft.Office.InfoPath.Vsta, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.AccessMicrosoft.Office.Interop.Access, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.Access.DaoMicrosoft.Office.Interop.Access.Dao, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.ExcelMicrosoft.Office.Interop.Excel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.GraphMicrosoft.Office.Interop.Graph, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.InfoPathMicrosoft.Office.Interop.InfoPath, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.InfoPath.SemiTrustMicrosoft.Office.Interop.InfoPath.SemiTrust, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.InfoPath.XmlMicrosoft.Office.Interop.InfoPath.Xml, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.OneNoteMicrosoft.Office.Interop.OneNote, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.OutlookMicrosoft.Office.Interop.Outlook, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.OutlookViewCtlMicrosoft.Office.Interop.OutlookViewCtl, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.PowerPointMicrosoft.Office.Interop.PowerPoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.PublisherMicrosoft.Office.Interop.Publisher, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.SmartTagMicrosoft.Office.Interop.SmartTag, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Interop.WordMicrosoft.Office.Interop.Word, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Office.Tools.CommonMicrosoft.Office.Tools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Office.Tools.ExcelMicrosoft.Office.Tools.Excel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Office.Tools.OutlookMicrosoft.Office.Tools.Outlook, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Office.Tools.WordMicrosoft.Office.Tools.Word, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.PowerShell.Commands.DiagnosticsMicrosoft.PowerShell.Commands.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Commands.ManagementMicrosoft.PowerShell.Commands.Management, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Commands.Management.ResourcesMicrosoft.PowerShell.Commands.Management.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Commands.UtilityMicrosoft.PowerShell.Commands.Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Commands.Utility.ResourcesMicrosoft.PowerShell.Commands.Utility.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.ConsoleHostMicrosoft.PowerShell.ConsoleHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.ConsoleHost.ResourcesMicrosoft.PowerShell.ConsoleHost.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.EditorMicrosoft.PowerShell.Editor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Editor.ResourcesMicrosoft.PowerShell.Editor.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.GPowerShellMicrosoft.PowerShell.GPowerShell, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.GPowerShell.ResourcesMicrosoft.PowerShell.GPowerShell.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.GraphicalHostMicrosoft.PowerShell.GraphicalHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.GraphicalHost.ResourcesMicrosoft.PowerShell.GraphicalHost.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.SecurityMicrosoft.PowerShell.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Security.ResourcesMicrosoft.PowerShell.Security.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.ReportViewer.CommonMicrosoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.ReportViewer.DesignMicrosoft.ReportViewer.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.ReportViewer.ProcessingObjectModelMicrosoft.ReportViewer.ProcessingObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.ReportViewer.WebDesignMicrosoft.ReportViewer.WebDesign, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.ReportViewer.WebFormsMicrosoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.ReportViewer.WinFormsMicrosoft.ReportViewer.WinForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.SqlServer.BatchParserMicrosoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.ConnectionInfoMicrosoft.SqlServer.ConnectionInfo, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.CustomControlsMicrosoft.SqlServer.CustomControls, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.GridControlMicrosoft.SqlServer.GridControl, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.InstapiMicrosoft.SqlServer.Instapi, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.MgdSqlDumperMicrosoft.SqlServer.MgdSqlDumper, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.RegSvrEnumMicrosoft.SqlServer.RegSvrEnum, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.ReplicationMicrosoft.SqlServer.Replication, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.Replication.BusinessLogicSupportMicrosoft.SqlServer.Replication.BusinessLogicSupport, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.RmoMicrosoft.SqlServer.Rmo, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.ServiceBrokerEnumMicrosoft.SqlServer.ServiceBrokerEnum, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.SmoMicrosoft.SqlServer.Smo, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.SmoEnumMicrosoft.SqlServer.SmoEnum, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.SqlEnumMicrosoft.SqlServer.SqlEnum, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.SqlTDiagMMicrosoft.SqlServer.SqlTDiagM, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.SStringMicrosoft.SqlServer.SString, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.WizardFrameworkLiteMicrosoft.SqlServer.WizardFrameworkLite, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.WmiEnumMicrosoft.SqlServer.WmiEnum, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.StdFormatMicrosoft.StdFormat, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.TpmMicrosoft.Tpm, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.Tpm.ResourcesMicrosoft.Tpm.resources, Version=6.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
Microsoft.Transactions.BridgeMicrosoft.Transactions.Bridge, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Transactions.Bridge.DtcMicrosoft.Transactions.Bridge.Dtc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Vbe.InteropMicrosoft.Vbe.Interop, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.Vbe.Interop.FormsMicrosoft.Vbe.Interop.Forms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Microsoft.VisualBasicMicrosoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualBasic.CompatibilityMicrosoft.VisualBasic.Compatibility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualBasic.Compatibility.DataMicrosoft.VisualBasic.Compatibility.Data, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualBasic.VsaMicrosoft.VisualBasic.Vsa, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualCMicrosoft.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualC.STLCLRMicrosoft.VisualC.STLCLR, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualC.VSCodeParserMicrosoft.VisualC.VSCodeParser, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualC.VSCodeProviderMicrosoft.VisualC.VSCodeProvider, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudioMicrosoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.CommandBarsMicrosoft.VisualStudio.CommandBars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.CommonIDEMicrosoft.VisualStudio.CommonIDE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.ConfigurationMicrosoft.VisualStudio.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Debugger.InteropMicrosoft.VisualStudio.Debugger.Interop, Version=8.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Debugger.InteropAMicrosoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.DebuggerVisualizersMicrosoft.VisualStudio.DebuggerVisualizers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.DesignMicrosoft.VisualStudio.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Designer.InterfacesMicrosoft.VisualStudio.Designer.Interfaces, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Diagnostics.ServiceModelSinkMicrosoft.VisualStudio.Diagnostics.ServiceModelSink, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.EditorsMicrosoft.VisualStudio.Editors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.EnterpriseToolsMicrosoft.VisualStudio.EnterpriseTools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.EnterpriseTools.ClassDesignerMicrosoft.VisualStudio.EnterpriseTools.ClassDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.EnterpriseTools.ShellMicrosoft.VisualStudio.EnterpriseTools.Shell, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.EnterpriseTools.TypeSystemMicrosoft.VisualStudio.EnterpriseTools.TypeSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.HostingProcess.UtilitiesMicrosoft.VisualStudio.HostingProcess.Utilities, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.HostingProcess.Utilities.SyncMicrosoft.VisualStudio.HostingProcess.Utilities.Sync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.ManagedInterfacesMicrosoft.VisualStudio.ManagedInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.ModelingMicrosoft.VisualStudio.Modeling, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Modeling.ArtifactMapperMicrosoft.VisualStudio.Modeling.ArtifactMapper, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Modeling.ArtifactMapper.VSHostMicrosoft.VisualStudio.Modeling.ArtifactMapper.VSHost, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Modeling.DiagramsMicrosoft.VisualStudio.Modeling.Diagrams, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Modeling.Diagrams.GraphObjectMicrosoft.VisualStudio.Modeling.Diagrams.GraphObject, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.OLE.InteropMicrosoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Package.LanguageServiceMicrosoft.VisualStudio.Package.LanguageService, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.ProjectAggregatorMicrosoft.VisualStudio.ProjectAggregator, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.PublishMicrosoft.VisualStudio.Publish, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.QualityTools.ResourceMicrosoft.VisualStudio.QualityTools.Resource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.QualityTools.UnitTestFrameworkMicrosoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.ShellMicrosoft.VisualStudio.Shell, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Shell.9.0Microsoft.VisualStudio.Shell.9.0, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Shell.DesignMicrosoft.VisualStudio.Shell.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Shell.InteropMicrosoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Shell.Interop.8.0Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Shell.Interop.9.0Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.TeamSystem.PerformanceWizardMicrosoft.VisualStudio.TeamSystem.PerformanceWizard, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.TemplateWizardInterfaceMicrosoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.TextManager.InteropMicrosoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.TextManager.Interop.8.0Microsoft.VisualStudio.TextManager.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.TextManager.Interop.9.0Microsoft.VisualStudio.TextManager.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.AdapterMicrosoft.VisualStudio.Tools.Applications.Adapter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.Adapter.v9.0Microsoft.VisualStudio.Tools.Applications.Adapter.v9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.AddInManagerMicrosoft.VisualStudio.Tools.Applications.AddInManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.BlueprintsMicrosoft.VisualStudio.Tools.Applications.Blueprints, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.ComRPCChannelMicrosoft.VisualStudio.Tools.Applications.ComRPCChannel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.ContractMicrosoft.VisualStudio.Tools.Applications.Contract, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.Contract.v9.0Microsoft.VisualStudio.Tools.Applications.Contract.v9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.DesignTimeMicrosoft.VisualStudio.Tools.Applications.DesignTime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.HostingMicrosoft.VisualStudio.Tools.Applications.Hosting, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.Hosting.v9.0Microsoft.VisualStudio.Tools.Applications.Hosting.v9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.InteropAdapterMicrosoft.VisualStudio.Tools.Applications.InteropAdapter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.RuntimeMicrosoft.VisualStudio.Tools.Applications.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Applications.ServerDocumentMicrosoft.VisualStudio.Tools.Applications.ServerDocument, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Tools.Office.RuntimeMicrosoft.VisualStudio.Tools.Office.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.VCCodeModelMicrosoft.VisualStudio.VCCodeModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.VCProjectMicrosoft.VisualStudio.VCProject, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.VCProjectEngineMicrosoft.VisualStudio.VCProjectEngine, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.VirtualTreeGridMicrosoft.VisualStudio.VirtualTreeGrid, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.VSContentInstallerMicrosoft.VisualStudio.VSContentInstaller, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.VSHelpMicrosoft.VisualStudio.VSHelp, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.VSHelp80Microsoft.VisualStudio.VSHelp80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.Windows.FormsMicrosoft.VisualStudio.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.WizardFrameworkMicrosoft.VisualStudio.WizardFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.ZipMicrosoft.VisualStudio.Zip, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VsaMicrosoft.Vsa, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Vsa.Vb.CodeDOMProcessorMicrosoft.Vsa.Vb.CodeDOMProcessor, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VSDesignerMicrosoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.WSMan.ManagementMicrosoft.WSMan.Management, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft_VsaVbMicrosoft_VsaVb, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
MiguiControlsMIGUIControls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
MiguiControls.ResourcesMIGUIControls.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
MMCExMMCEx, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
MMCEx.ResourcesMMCEx.resources, Version=3.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
MMCFxCommonMMCFxCommon, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
MMCFxCommon.ResourcesMMCFxCommon.resources, Version=3.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
MSClusterLibMSClusterLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
mscomctlmscomctl, Version=10.0.4504.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
mscorcfgmscorcfg, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
mscorlibmscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
MSDATASRCMSDATASRC, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
msddslmpmsddslmp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
msddspmsddsp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
napcryptnapcrypt, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
naphlprnaphlpr, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
napinitnapinit, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
napinit.resourcesnapinit.resources, Version=6.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
napsnapnapsnap, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
napsnap.resourcesnapsnap.resources, Version=6.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
officeoffice, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.1.0.Microsoft.InkPolicy.1.0.Microsoft.Ink, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Policy.1.0.Microsoft.Interop.Security.AzRolesPolicy.1.0.Microsoft.Interop.Security.AzRoles, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Policy.1.2.Microsoft.Interop.Security.AzRolesPolicy.1.2.Microsoft.Interop.Security.AzRoles, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Policy.1.7.Microsoft.InkPolicy.1.7.Microsoft.Ink, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Policy.11.0.Microsoft.Office.Interop.AccessPolicy.11.0.Microsoft.Office.Interop.Access, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.ExcelPolicy.11.0.Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.GraphPolicy.11.0.Microsoft.Office.Interop.Graph, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.InfoPathPolicy.11.0.Microsoft.Office.Interop.InfoPath, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.InfoPath.XmlPolicy.11.0.Microsoft.Office.Interop.InfoPath.Xml, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.OutlookPolicy.11.0.Microsoft.Office.Interop.Outlook, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.OutlookViewCtlPolicy.11.0.Microsoft.Office.Interop.OutlookViewCtl, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.PowerPointPolicy.11.0.Microsoft.Office.Interop.PowerPoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.PublisherPolicy.11.0.Microsoft.Office.Interop.Publisher, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.SmartTagPolicy.11.0.Microsoft.Office.Interop.SmartTag, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Office.Interop.WordPolicy.11.0.Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.Microsoft.Vbe.InteropPolicy.11.0.Microsoft.Vbe.Interop, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Policy.11.0.officePolicy.11.0.office, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
PresentationBuildTasksPresentationBuildTasks, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PresentationCFFRasterizerPresentationCFFRasterizer, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PresentationCorePresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PresentationFrameworkPresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PresentationFramework.AeroPresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PresentationFramework.ClassicPresentationFramework.Classic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PresentationFramework.LunaPresentationFramework.Luna, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PresentationFramework.RoyalePresentationFramework.Royale, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PresentationUIPresentationUI, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
ReachFrameworkReachFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
SMDiagnosticsSMDiagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
soapsudscodesoapsudscode, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
stdolestdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
sysgloblsysglobl, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
SystemSystem, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.AddInSystem.AddIn, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.AddIn.ContractSystem.AddIn.Contract, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.ConfigurationSystem.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Configuration.InstallSystem.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.CoreSystem.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.DataSystem.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.DataSetExtensionsSystem.Data.DataSetExtensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.LinqSystem.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.OracleClientSystem.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.SqlXmlSystem.Data.SqlXml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.DeploymentSystem.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.DesignSystem.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.DirectoryServicesSystem.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.DirectoryServices.AccountManagementSystem.DirectoryServices.AccountManagement, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.DirectoryServices.ProtocolsSystem.DirectoryServices.Protocols, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.DrawingSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Drawing.DesignSystem.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.EnterpriseServicesSystem.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.IdentityModelSystem.IdentityModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.IdentityModel.SelectorsSystem.IdentityModel.Selectors, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.IO.LogSystem.IO.Log, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.ManagementSystem.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Management.AutomationSystem.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Management.Automation.ResourcesSystem.Management.Automation.resources, Version=1.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
System.Management.InstrumentationSystem.Management.Instrumentation, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.MessagingSystem.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.NetSystem.Net, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.PrintingSystem.Printing, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Runtime.RemotingSystem.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Runtime.SerializationSystem.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Runtime.Serialization.Formatters.SoapSystem.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.SecuritySystem.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.ServiceModelSystem.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ServiceModel.InstallSystem.ServiceModel.Install, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ServiceModel.WasHostingSystem.ServiceModel.WasHosting, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ServiceModel.WebSystem.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.ServiceProcessSystem.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.SpeechSystem.Speech, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.TransactionsSystem.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.WebSystem.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.ExtensionsSystem.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Extensions.DesignSystem.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.MobileSystem.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.RegularExpressionsSystem.Web.RegularExpressions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.ServicesSystem.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Windows.FormsSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.PresentationSystem.Windows.Presentation, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Workflow.ActivitiesSystem.Workflow.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Workflow.ComponentModelSystem.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Workflow.RuntimeSystem.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.WorkflowServicesSystem.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.XmlSystem.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xml.LinqSystem.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
TaskSchedulerTaskScheduler, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
TaskScheduler.ResourcesTaskScheduler.resources, Version=6.0.0.0, Culture=en, PublicKeyToken=31bf3856ad364e35
UIAutomationClientUIAutomationClient, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
UIAutomationClientsideProvidersUIAutomationClientsideProviders, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
UIAutomationProviderUIAutomationProvider, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
UIAutomationTypesUIAutomationTypes, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
VSLangProjVSLangProj, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
VSLangProj2VSLangProj2, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
VSLangProj80UNKNOWN
VsWebSite.InteropVsWebSite.Interop, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
WebDev.WebHostWebDev.WebHost, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
WindowsBaseWindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
WindowsFormsIntegrationWindowsFormsIntegration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35