本文整理汇总了C#中Microsoft.Build.BuildEngine.Engine类的典型用法代码示例。如果您正苦于以下问题:C# Engine类的具体用法?C# Engine怎么用?C# Engine使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Engine类属于Microsoft.Build.BuildEngine命名空间,在下文中一共展示了Engine类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: SetUp
public void SetUp()
{
// Whole bunch of setup code.
XmlElement taskNode = new XmlDocument().CreateElement("MockTask");
LoadedType taskClass = new LoadedType(typeof(MockTask), new AssemblyLoadInfo(typeof(MockTask).Assembly.FullName, null));
engine = new Engine(@"c:\");
Project project = new Project(engine);
EngineCallback engineCallback = new EngineCallback(engine);
taskExecutionModule = new MockTaskExecutionModule(engineCallback);
int handleId = engineCallback.CreateTaskContext(project, null, null, taskNode, EngineCallback.inProcNode, new BuildEventContext(BuildEventContext.InvalidNodeId, BuildEventContext.InvalidTargetId, BuildEventContext.InvalidProjectContextId, BuildEventContext.InvalidTaskId));
TaskEngine taskEngine = new TaskEngine
(
taskNode,
null, /* host object */
"In Memory",
project.FullFileName,
engine.LoggingServices,
handleId,
taskExecutionModule,
null
);
taskEngine.TaskClass = taskClass;
engineProxy = new EngineProxy(taskExecutionModule, handleId, project.FullFileName, project.FullFileName, engine.LoggingServices, null);
taskExecutionModule2 = new MockTaskExecutionModule(engineCallback, TaskExecutionModule.TaskExecutionModuleMode.MultiProcFullNodeMode);
engineProxy2 = new EngineProxy(taskExecutionModule2, handleId, project.FullFileName, project.FullFileName, engine.LoggingServices, null);
}
开发者ID:nikson,项目名称:msbuild,代码行数:28,代码来源:EngineProxy_Tests.cs
示例2: CreateEngine
private static Engine CreateEngine(FrameworkVersions toolsVersion, string frameworkPath)
{
Engine engine = new Engine(frameworkPath);
Version fullVersion = engine.GetType().Assembly.GetName().Version;
string version = fullVersion.ToString(2);
if (toolsVersion == FrameworkVersions.v30 && version == "2.0")
version = "3.0";//these use the same build runtime: 2.0/3.0
if (toolsVersion == FrameworkVersions.v45 && version == "4.0")
version = "4.5";//these use the same build runtime: 4.0/4.5
if (version.Replace(".", "") != toolsVersion.ToString().TrimStart('v'))
throw new ApplicationException(String.Format("Expected runtime {0}, found ({1}){2}.", toolsVersion, version, fullVersion));
Log.Verbose("Using build engine: {0}", engine.GetType().Assembly.FullName);
if (toolsVersion == FrameworkVersions.v20 || toolsVersion == FrameworkVersions.v30)
engine.GlobalProperties.SetProperty("MSBuildToolsPath", frameworkPath);
//<property name="FrameworkSDKDir" value="%ProgramFiles%\Microsoft.NET\SDK\v2.0\" global="true"/>
//if (!Directory.Exists(engine.GlobalProperties.SetProperty()))
//{ }
new MSBuildLog(engine);
return engine;
}
开发者ID:hivie7510,项目名称:csharptest-net,代码行数:27,代码来源:BuildEngine.cs
示例3: XnaContentProject
public XnaContentProject(Task task, string msBuildPath, string xnaInstallPath)
{
m_engine = new Engine(msBuildPath);
m_engine.RegisterLogger(new XnaContentLogger(task));
m_project = new Project(m_engine);
m_project.AddNewUsingTaskFromAssemblyName("BuildContent", "Microsoft.Xna.Framework.Content.Pipeline, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d");
m_project.AddNewUsingTaskFromAssemblyName("BuildXact", "Microsoft.Xna.Framework.Content.Pipeline, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d");
// Add our Content Pipeline Assemblies
m_pipelineGroup = m_project.AddNewItemGroup();
m_contentGroup = m_project.AddNewItemGroup();
m_contentTarget = m_project.Targets.AddNewTarget("_BuildXNAContentLists");
// Add our Build target
m_xnaTarget = m_project.Targets.AddNewTarget("Build");
m_xnaTarget.DependsOnTargets = "_BuildXNAContentLists";
// Add Default Pipeline Assemblies.
AddPilepineAssembly(xnaInstallPath + "Microsoft.Xna.Framework.Content.Pipeline.EffectImporter.dll");
AddPilepineAssembly(xnaInstallPath + "Microsoft.Xna.Framework.Content.Pipeline.FBXImporter.dll");
AddPilepineAssembly(xnaInstallPath + "Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.dll");
AddPilepineAssembly(xnaInstallPath + "Microsoft.Xna.Framework.Content.Pipeline.XImporter.dll");
}
开发者ID:orj,项目名称:xnananttasks,代码行数:25,代码来源:XnaContentProject.cs
示例4: Introspector
internal Introspector(Engine parentEngine, ProjectManager projectManager, NodeManager nodeManager)
{
this.parentEngine = parentEngine;
this.projectManager = projectManager;
this.nodeManager = nodeManager;
this.ignoreTimeout = 0;
}
开发者ID:nikson,项目名称:msbuild,代码行数:7,代码来源:Introspector.cs
示例5: TestCondition1
public void TestCondition1 ()
{
Engine engine = new Engine (Consts.BinPath);
Project proj = engine.CreateNewProject ();
string documentString = @"
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<PropertyGroup>
<A Condition='true'></A>
<B Condition='false'></B>
<C Condition='TRUE'></C>
<D Condition='FALSE'></D>
<E Condition=''>A</E>
</PropertyGroup>
</Project>
";
proj.LoadXml (documentString);
Assert.IsNotNull (proj.EvaluatedProperties ["A"], "A1");
Assert.IsNull (proj.EvaluatedProperties ["B"], "A2");
Assert.IsNotNull (proj.EvaluatedProperties ["C"], "A3");
Assert.IsNull (proj.EvaluatedProperties ["D"], "A4");
Assert.IsNotNull (proj.EvaluatedProperties ["E"], "A5");
}
开发者ID:GuySrinivasan,项目名称:mono,代码行数:25,代码来源:Conditions.cs
示例6: TestItems1
public void TestItems1 ()
{
Engine engine = new Engine (Consts.BinPath);
Project proj = engine.CreateNewProject ();
string documentString = @"
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<ItemGroup>
<Item0 Include='A' />
<Item1 Include='A;B;C' />
<Item2 Include='@(Item1);A;D' />
<Item3 Include='@(Item2)' Exclude='A' />
<Item4 Include='@(Item1);Q' Exclude='@(Item2)' />
<Item5 Include='@(Item1)' Exclude='@(Item2)' />
<Item6 Include='@(Item2)' Exclude='@(Item1)' />
<Item7 Include='@(item_that_doesnt_exist)' />
</ItemGroup>
</Project>
";
proj.LoadXml (documentString);
CheckItems (proj, "Item0", "A1", "A");
CheckItems (proj, "Item1", "A2", "A", "B", "C");
CheckItems (proj, "Item2", "A3", "A", "B", "C", "A", "D");
CheckItems (proj, "Item3", "A4", "B", "C", "D");
CheckItems (proj, "Item4", "A5", "Q");
CheckItems (proj, "Item5", "A6");
CheckItems (proj, "Item6", "A7", "D");
CheckItems (proj, "Item7", "A8");
}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:30,代码来源:Items.cs
示例7: TestAssemblyFile2
public void TestAssemblyFile2 ()
{
string documentString = @"
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<UsingTask
AssemblyFile='Test/resources/TestTasks.dll'
TaskName='SimpleTask'
/>
</Project>
";
engine = new Engine (Consts.BinPath);
project = engine.CreateNewProject ();
project.LoadXml (documentString);
IEnumerator en = project.UsingTasks.GetEnumerator ();
en.MoveNext ();
UsingTask ut = (UsingTask) en.Current;
Assert.AreEqual ("Test/resources/TestTasks.dll", ut.AssemblyFile, "A1");
Assert.IsNull (ut.AssemblyName, "A2");
Assert.AreEqual (null, ut.Condition, "A3");
Assert.AreEqual (false, ut.IsImported, "A4");
Assert.AreEqual ("SimpleTask", ut.TaskName, "A5");
}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:26,代码来源:UsingTaskTest.cs
示例8: ProjectBuilder
public ProjectBuilder (BuildEngine buildEngine, Engine engine, string file)
{
this.file = file;
this.engine = engine;
this.buildEngine = buildEngine;
consoleLogger = new MDConsoleLogger (LoggerVerbosity.Normal, LogWriteLine, null, null);
}
开发者ID:llucenic,项目名称:monodevelop,代码行数:7,代码来源:ProjectBuilder.cs
示例9: Initialize
public void Initialize()
{
ObjectModelHelpers.DeleteTempProjectDirectory();
engine = new Engine();
project = new Project(engine);
}
开发者ID:nikson,项目名称:msbuild,代码行数:7,代码来源:BuildItemGroupCollection_Tests.cs
示例10: TestGetEnumerator
public void TestGetEnumerator ()
{
string documentString = @"
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<UsingTask
AssemblyFile='Test/resources/TestTasks.dll'
TaskName='TrueTestTask'
/>
<UsingTask
AssemblyFile='Test/resources/TestTasks.dll'
TaskName='FalseTestTask'
/>
</Project>
";
engine = new Engine (Consts.BinPath);
project = engine.CreateNewProject ();
project.LoadXml (documentString);
IEnumerator en = project.UsingTasks.GetEnumerator ();
en.MoveNext ();
Assert.AreEqual ("Test/resources/TestTasks.dll", ((UsingTask) en.Current).AssemblyFile, "A1");
Assert.AreEqual ("TrueTestTask", ((UsingTask) en.Current).TaskName, "A2");
en.MoveNext ();
Assert.AreEqual ("Test/resources/TestTasks.dll", ((UsingTask) en.Current).AssemblyFile, "A3");
Assert.AreEqual ("FalseTestTask", ((UsingTask) en.Current).TaskName, "A4");
Assert.IsFalse (en.MoveNext ());
}
开发者ID:nlhepler,项目名称:mono,代码行数:32,代码来源:UsingTaskCollectionTest.cs
示例11: TestExecution1
public void TestExecution1 ()
{
Engine engine;
Project project;
string documentString = @"
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<ItemGroup>
<Dir Include='b' />
<Dir Include='c' />
<Dir Include='d\e' />
</ItemGroup>
<Target Name='1'>
<CombinePath BasePath='a' Paths='@(Dir)'>
<Output
TaskParameter='CombinedPaths'
ItemName='Out'
/>
</CombinePath>
</Target>
</Project>
";
engine = new Engine (Consts.BinPath);
project = engine.CreateNewProject ();
project.LoadXml (documentString);
Assert.IsTrue (project.Build ("1"), "A1");
BuildItemGroup output = project.GetEvaluatedItemsByName ("Out");
Assert.AreEqual (3, output.Count, "A2");
Assert.AreEqual (Path.Combine ("a", "b"), output [0].FinalItemSpec, "A3");
Assert.AreEqual (Path.Combine ("a", "c"), output [1].FinalItemSpec, "A4");
Assert.AreEqual (Path.Combine ("a", Path.Combine ("d", "e")), output [2].FinalItemSpec, "A5");
}
开发者ID:KonajuGames,项目名称:SharpLang,代码行数:35,代码来源:CombinePathTest.cs
示例12: Initialize
public void Initialize()
{
engine = new Engine();
myProject = new Project(engine);
myLogger = new MockLogger();
myProject.ParentEngine.RegisterLogger(myLogger);
}
开发者ID:nikson,项目名称:msbuild,代码行数:7,代码来源:TargetCollection_Tests.cs
示例13: ConstructorEngineNoParameters
public void ConstructorEngineNoParameters()
{
Engine e = new Engine();
string binPath20 = GetBinPathFromRegistry("2.0");
if (binPath20 == null)
{
// if 2.0 can't be found in the registry, it's still the default,
// but we need to get it another way.
binPath20 = FrameworkLocationHelper.PathToDotNetFrameworkV20;
}
if (binPath20 != null)
{
Assertion.AssertEquals("2.0", e.DefaultToolsVersion);
Assertion.AssertEquals(binPath20, e.BinPath);
}
else
{
Assertion.AssertEquals("4.0", e.DefaultToolsVersion);
Assertion.AssertEquals(GetBinPathFromRegistry("4.0"), e.BinPath);
}
Assertion.AssertEquals(true, e.BuildEnabled);
Assertion.AssertEquals(false, e.IsBuilding);
Assertion.AssertEquals(false, e.OnlyLogCriticalEvents);
}
开发者ID:nikson,项目名称:msbuild,代码行数:28,代码来源:Engine_Tests.cs
示例14: SimpleAddAndRetrieveProject
public void SimpleAddAndRetrieveProject()
{
// Initialize engine.
Engine engine = new Engine(@"c:\");
// Instantiate new project manager.
ProjectManager projectManager = new ProjectManager();
// Set up variables that represent the information we would be getting from
// the "MSBuild" task.
string fullPath = @"c:\rajeev\temp\myapp.proj";
BuildPropertyGroup globalProperties = new BuildPropertyGroup();
globalProperties.SetProperty("Configuration", "Debug");
// Create a new project that matches the information that we're pretending
// to receive from the MSBuild task.
Project project1 = new Project(engine);
project1.FullFileName = fullPath;
project1.GlobalProperties = globalProperties;
// Add the new project to the ProjectManager.
projectManager.AddProject(project1);
// Try and retrieve the project from the ProjectManager based on the fullpath + globalprops,
// and make sure we get back the same project we added.
Assertion.AssertEquals(project1, projectManager.GetProject(fullPath, globalProperties, null));
}
开发者ID:nikson,项目名称:msbuild,代码行数:27,代码来源:ProjectManager_Tests.cs
示例15: Build
public static bool Build(Project pProj, OutputWindowPane pPane, string pTarget, NameValueCollection pParams)
{
Microsoft.Build.BuildEngine.Engine buildEngine = new Microsoft.Build.BuildEngine.Engine();
BuildExecutor executor = new BuildExecutor(pPane);
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\.NETFramework", false);
if (key == null) {
throw new Exception("Failed to determine .NET Framework install root - no .NETFramework key");
}
string installRoot = key.GetValue("InstallRoot") as string;
if (installRoot == null) {
throw new Exception("Failed to determine .NET Framework install root - no InstallRoot value");
}
key.Close();
buildEngine.BinPath = Path.Combine(installRoot, string.Format("v{0}.{1}.{2}", Environment.Version.Major, Environment.Version.Minor, Environment.Version.Build));
buildEngine.RegisterLogger(executor);
executor.Verbosity = LoggerVerbosity.Normal;
BuildPropertyGroup properties = new BuildPropertyGroup();
foreach (string propKey in pParams.Keys) {
string val = pParams[propKey];
properties.SetProperty(propKey, val, true);
}
return buildEngine.BuildProjectFile(pProj.FileName, new string[]{pTarget}, properties);
}
开发者ID:paulj,项目名称:webgac,代码行数:29,代码来源:BuildExecutor.cs
示例16: ProjectBuilder
public ProjectBuilder (string file, string binDir)
{
this.file = file;
engine = new Engine (binDir);
engine.GlobalProperties.SetProperty ("BuildingInsideVisualStudio", "true");
Refresh ();
}
开发者ID:transformersprimeabcxyz,项目名称:monodevelop-1,代码行数:7,代码来源:ProjectBuilder.cs
示例17: CompileSingle
protected override bool CompileSingle(Engine engine, AbstractBaseGenerator gen, string workingPath, string target)
{
try
{
using (log4net.NDC.Push("Compiling " + gen.Description))
{
Log.DebugFormat("Loading MsBuild Project");
var proj = new Project(engine);
proj.Load(Helper.PathCombine(workingPath, gen.TargetNameSpace, gen.ProjectFileName));
Log.DebugFormat("Compiling");
if (engine.BuildProject(proj, target))
{
return true;
}
else
{
Log.ErrorFormat("Failed to compile {0}", gen.Description);
return false;
}
}
}
catch (Exception ex)
{
Log.Error("Failed compiling " + gen.Description, ex);
return false;
}
}
开发者ID:jrgcubano,项目名称:zetbox,代码行数:28,代码来源:MsBuildCompiler.cs
示例18: Setup
public void Setup()
{
ccu = new CodeCompileUnit();
mocks = new MockRepository();
engine = Engine.GlobalEngine;
engine.BinPath = @"C:\Program Files (x86)\MSBuild";
project = new Project();
buildEngine = mocks.DynamicMock<MockBuildEngine>(project);
logger = new NullLogger();
parserService = mocks.DynamicMock<ISiteTreeGeneratorService>();
naming = mocks.DynamicMock<INamingService>();
sourceStorage = mocks.DynamicMock<IParsedSourceStorageService>();
source = mocks.DynamicMock<ISourceGenerator>();
typeResolver = mocks.DynamicMock<ITypeResolver>();
treeService = mocks.DynamicMock<ITreeCreationService>();
viewSourceMapper = mocks.DynamicMock<IViewSourceMapper>();
generator = mocks.DynamicMock<IGenerator>();
task = new GenerateMonoRailSiteTreeTask(logger, parserService, naming, source, sourceStorage, typeResolver,
treeService, viewSourceMapper, generator);
item = mocks.DynamicMock<ITaskItem>();
parsedSource = mocks.DynamicMock<IParser>();
}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:25,代码来源:GenerateMonoRailSiteTreeTaskTests.cs
示例19: TestExecution1
public void TestExecution1 ()
{
Engine engine;
Project project;
string documentString = @"
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<Target Name='1'>
<GetFrameworkPath>
<Output
TaskParameter='Path'
PropertyName='Path'
/>
</GetFrameworkPath>
</Target>
</Project>
";
engine = new Engine (Consts.BinPath);
project = engine.CreateNewProject ();
project.LoadXml (documentString);
Assert.IsTrue (project.Build ("1"), "A1");
Assert.IsNotNull (project.EvaluatedProperties ["Path"], "A2");
Assert.IsTrue (String.Empty != project.EvaluatedProperties ["Path"].FinalValue, "A3");
}
开发者ID:KonajuGames,项目名称:SharpLang,代码行数:26,代码来源:GetFrameworkPathTest.cs
示例20: SetUp
public void SetUp()
{
// Whole bunch of setup code.
XmlElement taskNode = new XmlDocument().CreateElement("MockTask");
LoadedType taskClass = new LoadedType(typeof(MockTask), new AssemblyLoadInfo(typeof(MockTask).Assembly.FullName, null));
Engine engine = new Engine(@"c:\");
loggingHelper = new EngineLoggingServicesHelper();
engine.LoggingServices = loggingHelper;
Project project = new Project(engine);
taskExecutionModule = new MockTaskExecutionModule(new EngineCallback(engine));
// Set up some "fake data" which will be passed to the Task Execution State object
Hashtable[] fakeArray = new Hashtable[1];
fakeArray[0] = new Hashtable();
projectLevelProprtiesForInference = new BuildPropertyGroup();
projectLevelPropertiesForExecution = new BuildPropertyGroup();
inferenceBucketItemsByName = fakeArray;
inferenceBucketMetaData = fakeArray;
projectLevelItemsForInference = new Hashtable();
executionBucketItemsByName = fakeArray;
executionBucketMetaData = fakeArray;
projectLevelItemsForExecution = new Hashtable();
hostObject = null;
projectFileOfTaskNode = "In Memory";
parentProjectFullFileName = project.FullFileName;
nodeProxyId = engine.EngineCallback.CreateTaskContext(project, null, null, taskNode, EngineCallback.inProcNode, new BuildEventContext(BuildEventContext.InvalidNodeId, BuildEventContext.InvalidTargetId, BuildEventContext.InvalidProjectContextId, BuildEventContext.InvalidTaskId));
executionDirectory = Directory.GetCurrentDirectory();
projectId = project.Id;
}
开发者ID:nikson,项目名称:msbuild,代码行数:28,代码来源:TaskExecutionState_Test.cs
注:本文中的Microsoft.Build.BuildEngine.Engine类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论