public void GivenAssemblyExists_WhenGetReferenceIdentity_ShouldReturnObject() { var guid = typeof(IReferenceIdentity).GUID; var path = Assembly.GetExecutingAssembly().Location; var refIdentity = FusionNative.GetAssemblyIdentityFromFile(path, ref guid) as IReferenceIdentity; Assert.NotNull(refIdentity); }
public void WhenGetEnumThenMustReturnSuccessResult(CreateAssemblyEnumFlags flasg) { IAssemblyEnum assemblyEnum; var hresult = FusionNative.CreateAssemblyEnum(out assemblyEnum, null, null, flasg, 0); Assert.True(hresult); Assert.NotNull(assemblyEnum); }
private static IAssemblyEnum GetGacAssemblyEnum(IAssemblyName assemblyName = null) { const CreateAssemblyEnumFlags flags = CreateAssemblyEnumFlags.Zap; IAssemblyEnum assemblyEnum; var hresult = FusionNative.CreateAssemblyEnum(out assemblyEnum, null, assemblyName, flags, 0); Assert.True(hresult, "Couldn't create assembly enum object"); return(assemblyEnum); }
private static IAssemblyCache GetGlobalAssemblyCache() { IAssemblyCache assemblyCache; var hResult = FusionNative.CreateAssemblyCache(out assemblyCache, 0); Assert.True(hResult); return(assemblyCache); }
public void GetNextMustReturnAtLeastOneAssembly(CreateAssemblyEnumFlags flags) { IAssemblyEnum assemblyEnum; var hresult = FusionNative.CreateAssemblyEnum(out assemblyEnum, null, null, flags, 0); Assert.True(hresult); IApplicationContext applicationContext; IAssemblyName assemblyName; hresult = assemblyEnum.GetNextAssembly(out applicationContext, out assemblyName, GetNextAssemblyFlags.None); Assert.True(hresult); Assert.NotNull(assemblyName); }
public void MustReturnRightsPaths() { var gacPathLength = 0; var flags = GetCachePathFlags.Gac; var hResult = FusionNative.GetCachePath(flags, null, ref gacPathLength); if (hResult.InsufficientBuffer) { var gacPath = new StringBuilder(gacPathLength); hResult = FusionNative.GetCachePath(flags, gacPath, ref gacPathLength); Assert.True(hResult); var expectedPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "assembly", "GAC"); Assert.Equal(expectedPath, gacPath.ToString(), StringComparer.OrdinalIgnoreCase); } }
public void FactMethodName() { IAssemblyEnum assemblyEnum; Assert.True(FusionNative.CreateAssemblyEnum(out assemblyEnum, null, null, CreateAssemblyEnumFlags.Gac, 0)); IApplicationContext applicationContext; IAssemblyName assemblyName; Assert.True(assemblyEnum.GetNextAssembly(out applicationContext, out assemblyName, GetNextAssemblyFlags.None)); IInstallReferenceEnum installReferenceEnum; Assert.True(FusionNative.CreateInstallReferenceEnum(out installReferenceEnum, assemblyName, CreateInstallReferenceFlags.None, 0)); Assert.NotNull(installReferenceEnum); }
public void ResetNotImplemented(CreateAssemblyEnumFlags flags) { IAssemblyEnum assemblyEnum; var hresult = FusionNative.CreateAssemblyEnum(out assemblyEnum, null, null, flags, 0); Assert.True(hresult); IApplicationContext applicationContext; IAssemblyName firstAssemblyName; hresult = assemblyEnum.GetNextAssembly(out applicationContext, out firstAssemblyName, GetNextAssemblyFlags.None); Assert.True(hresult); Assert.NotNull(firstAssemblyName); hresult = assemblyEnum.Reset(); Assert.Throws <NotImplementedException>(() => (bool)hresult); }
static IAssemblyName GetMscorlib() { IAssemblyName filterAssemblyName; var hresult = FusionNative.CreateAssemblyNameObject(out filterAssemblyName, MscorlibStrongName, CreateAssemblyNameObjectFlags.CanofParseDispayName, 0); Assert.True(hresult, "Couldn't create assembly name object"); var assemblyEnum = GetGacAssemblyEnum(filterAssemblyName); IAssemblyName assemblyName; IApplicationContext applicationContext; hresult = assemblyEnum.GetNextAssembly(out applicationContext, out assemblyName, GetNextAssemblyFlags.None); hresult = assemblyEnum.GetNextAssembly(out applicationContext, out assemblyName, GetNextAssemblyFlags.None); Assert.True(hresult, "Couldn't read next assembly name object"); return(assemblyName); }
public AssemblyName(string fullName) { HRESULT.ThrowOnFailure(FusionNative.CreateAssemblyNameObject(out _assemblyName, null, 0, IntPtr.Zero)); this.FullName = fullName; }
public AssemblyName() { HRESULT.ThrowOnFailure(FusionNative.CreateAssemblyNameObject(out _assemblyName, null, 0, IntPtr.Zero)); }