Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit e5709af

Browse files
Merge pull request #2087 from github/fixes/embed-interop-assemblies
Check we don't reference DesignTime assemblies
2 parents 24c4931 + 6bede88 commit e5709af

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/GitHub.VisualStudio.UI/GitHub.VisualStudio.UI.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@
2424
<ItemGroup>
2525
<PackageReference Include="Markdig.Signed" version="0.13.0" />
2626
<PackageReference Include="Markdig.Wpf.Signed" version="0.2.1" />
27+
<PackageReference Include="Microsoft.VisualStudio.SDK.EmbedInteropTypes" Version="15.0.27" />
2728
</ItemGroup>
2829
</Project>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System.IO;
2+
using System.Reflection;
3+
using NUnit.Framework;
4+
5+
public class GitHubAssemblyTests
6+
{
7+
[Theory]
8+
public void GitHub_Assembly_Should_Not_Reference_DesignTime_Assembly(string assemblyFile)
9+
{
10+
var asm = Assembly.LoadFrom(assemblyFile);
11+
foreach (var referencedAssembly in asm.GetReferencedAssemblies())
12+
{
13+
Assert.That(referencedAssembly.Name, Does.Not.EndWith(".DesignTime"),
14+
"DesignTime assemblies should be embedded not referenced");
15+
}
16+
}
17+
18+
[DatapointSource]
19+
string[] GitHubAssemblies => Directory.GetFiles(AssemblyDirectory, "GitHub.*.dll");
20+
21+
string AssemblyDirectory => Path.GetDirectoryName(GetType().Assembly.Location);
22+
}

0 commit comments

Comments
 (0)