internal TlbReference(TaskLoggingHelper taskLoggingHelper, IComReferenceResolver resolverCallback, IEnumerable <string> referenceFiles, ComReferenceInfo referenceInfo, string itemName, string outputDirectory, bool hasTemporaryWrapper, bool delaySign, string keyFile, string keyContainer, bool noClassMembers, string targetProcessorArchitecture, bool includeTypeLibVersionInName, bool executeAsTool, string sdkToolsPath, IBuildEngine buildEngine, string[] environmentVariables) : base(taskLoggingHelper, resolverCallback, referenceInfo, itemName, outputDirectory, delaySign, keyFile, keyContainer, includeTypeLibVersionInName, executeAsTool, sdkToolsPath, buildEngine, environmentVariables) { this.hasTemporaryWrapper = hasTemporaryWrapper; this.noClassMembers = noClassMembers; this.targetProcessorArchitecture = targetProcessorArchitecture; this.referenceFiles = referenceFiles; }
internal TlbReference(TaskLoggingHelper taskLoggingHelper, IComReferenceResolver resolverCallback, IEnumerable<string> referenceFiles, ComReferenceInfo referenceInfo, string itemName, string outputDirectory, bool hasTemporaryWrapper, bool delaySign, string keyFile, string keyContainer, bool noClassMembers, string targetProcessorArchitecture, bool includeTypeLibVersionInName, bool executeAsTool, string sdkToolsPath, IBuildEngine buildEngine, string[] environmentVariables) : base(taskLoggingHelper, resolverCallback, referenceInfo, itemName, outputDirectory, delaySign, keyFile, keyContainer, includeTypeLibVersionInName, executeAsTool, sdkToolsPath, buildEngine, environmentVariables) { this.hasTemporaryWrapper = hasTemporaryWrapper; this.noClassMembers = noClassMembers; this.targetProcessorArchitecture = targetProcessorArchitecture; this.referenceFiles = referenceFiles; }
internal AxTlbBaseReference(TaskLoggingHelper taskLoggingHelper, IComReferenceResolver resolverCallback, ComReferenceInfo referenceInfo, string itemName, string outputDirectory, bool delaySign, string keyFile, string keyContainer, bool includeTypeLibVersionInName, bool executeAsTool, string toolPath, IBuildEngine buildEngine, string[] environmentVariables) : base(taskLoggingHelper, referenceInfo, itemName) { this.resolverCallback = resolverCallback; this.outputDirectory = outputDirectory; this.includeTypeLibVersionInName = includeTypeLibVersionInName; this.BuildEngine = buildEngine; this.EnvironmentVariables = environmentVariables; this.DelaySign = delaySign; this.ExecuteAsTool = executeAsTool; this.KeyFile = keyFile; this.KeyContainer = keyContainer; this.ToolPath = toolPath; }
public void CheckIsExistingDependencyReference() { TYPELIBATTR axAttr, tlbAttr, piaAttr, notInProjectAttr; ComReferenceInfo axRefInfo, tlbRefInfo, piaRefInfo; CreateTestReferences(out axRefInfo, out tlbRefInfo, out piaRefInfo, out axAttr, out tlbAttr, out piaAttr, out notInProjectAttr); ResolveComReference rcr = new ResolveComReference(); // populate the ResolveComReference's list of project references rcr.allDependencyRefs = new List <ComReferenceInfo>(); rcr.allDependencyRefs.Add(axRefInfo); rcr.allDependencyRefs.Add(tlbRefInfo); rcr.allDependencyRefs.Add(piaRefInfo); ComReferenceInfo referenceInfo; // find the Ax ref - should find it bool retValue = rcr.IsExistingDependencyReference(axAttr, out referenceInfo); Assert.True(retValue == true && referenceInfo == axRefInfo); // "ActiveX ref should be found" // find the Tlb ref - should find it retValue = rcr.IsExistingDependencyReference(tlbAttr, out referenceInfo); Assert.True(retValue == true && referenceInfo == tlbRefInfo); // "Tlb ref should be found" // find the Pia ref - should find it retValue = rcr.IsExistingDependencyReference(piaAttr, out referenceInfo); Assert.True(retValue == true && referenceInfo == piaRefInfo); // "Pia ref should be found" // try to find a non existing reference - should not find it retValue = rcr.IsExistingDependencyReference(notInProjectAttr, out referenceInfo); Assert.True(retValue == false && referenceInfo == null); // "not in project ref should not be found" // Now, try to resolve a non-existent ComAssemblyReference. string path; IComReferenceResolver resolver = (IComReferenceResolver)rcr; Assert.False(resolver.ResolveComAssemblyReference("MyAssembly", out path)); Assert.Equal(null, path); }
/// <summary> /// internal constructor /// </summary> /// <param name="taskLoggingHelper">task logger instance used for logging</param> /// <param name="resolverCallback">callback interface for resolving dependent COM refs/NET assemblies</param> /// <param name="referenceInfo">cached reference information (typelib pointer, original task item, typelib name etc.)</param> /// <param name="itemName">reference name (for better logging experience)</param> /// <param name="outputDirectory">directory we should write the wrapper to</param> /// <param name="delaySign">delay sign wrappers?</param> /// <param name="keyFile">file containing public/private keys</param> /// <param name="keyContainer">container name for public/private keys</param> /// <param name="executeAsTool">True if GenerateWrapper() should generate the wrapper out-of-proc using aximp.exe</param> /// <param name="sdkToolsPath">Path to the SDK tools directory where aximp.exe can be found</param> /// <param name="buildEngine">BuildEngine of parent task; needed for logging purposes when generating wrapper out-of-proc</param> internal AxReference(TaskLoggingHelper taskLoggingHelper, bool silent, IComReferenceResolver resolverCallback, ComReferenceInfo referenceInfo, string itemName, string outputDirectory, bool delaySign, string keyFile, string keyContainer, bool includeTypeLibVersionInName, string sdkToolsPath, IBuildEngine buildEngine, string[] environmentVariables) : base(taskLoggingHelper, silent, resolverCallback, referenceInfo, itemName, outputDirectory, delaySign, keyFile, keyContainer, includeTypeLibVersionInName, true /* always execute as tool */, sdkToolsPath, buildEngine, environmentVariables) { // do nothing }