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;
 }
示例#4
0
 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;
 }
示例#5
0
        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);
        }
示例#6
0
 /// <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
 }
示例#7
0
 /// <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
 }