本文整理汇总了C#中MonoDevelop.Projects.MSBuild.MSBuildProject.AddNewImport方法的典型用法代码示例。如果您正苦于以下问题:C# MSBuildProject.AddNewImport方法的具体用法?C# MSBuildProject.AddNewImport怎么用?C# MSBuildProject.AddNewImport使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop.Projects.MSBuild.MSBuildProject
的用法示例。
在下文中一共展示了MSBuildProject.AddNewImport方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnWriteProject
internal protected override void OnWriteProject (ProgressMonitor monitor, MSBuildProject project)
{
base.OnWriteProject (monitor, project);
HashSet<string> validProjitems = new HashSet<string> ();
foreach (var r in Project.References.Where (rp => rp.ReferenceType == ReferenceType.Project)) {
var ip = r.GetItemsProjectPath ();
if (!string.IsNullOrEmpty (ip)) {
ip = MSBuildProjectService.ToMSBuildPath (Project.ItemDirectory, ip);
validProjitems.Add (ip);
if (!project.Imports.Any (im => im.Project == ip)) {
// If there is already a Shared import, place the new import in the same location
MSBuildObject before = project.Imports.FirstOrDefault (i => i.Label == "Shared" && i.Project.EndsWith (".projitems"));
if (before == null) {
var fsharpProject = project.ProjectTypeGuids.Contains("{F2A71F9B-5D33-465A-A702-920D77279786}");
if (fsharpProject)
//For F# use the first item group as the shared project files have to be listed first
before = project.ItemGroups.FirstOrDefault (i => i.Label != "Shared");
else
before = project.Imports.FirstOrDefault (i => i.Label != "Shared");
}
var im = project.AddNewImport (ip, beforeObject: before);
im.Label = "Shared";
im.Condition = "Exists('" + ip + "')";
}
}
}
foreach (var im in project.Imports.ToArray ()) {
if (im.Label == "Shared" && im.Project.EndsWith (".projitems") && !(validProjitems.Contains (im.Project)))
project.RemoveImport (im.Project);
}
}
示例2: AddPackagingPropsImport
void AddPackagingPropsImport (MSBuildProject msproject)
{
MSBuildObject insertBefore = msproject.GetAllObjects ().FirstOrDefault ();
msproject.AddNewImport (
@"$(NuGetAuthoringPath)\NuGet.Packaging.Authoring.props",
@"Exists('$(NuGetAuthoringPath)\NuGet.Packaging.Authoring.props')",
insertBefore);
}
示例3: AddPackagingTargetsImport
void AddPackagingTargetsImport (MSBuildProject msproject)
{
// Create dummy new msbuild object to ensure import is added as last child.
var insertBefore = new MSBuildItem ();
msproject.AddNewImport (
@"$(NuGetAuthoringPath)\NuGet.Packaging.Authoring.targets",
@"Exists('$(NuGetAuthoringPath)\NuGet.Packaging.Authoring.targets')",
insertBefore);
}
示例4: StartWhitespaceForImportInsertedAsFirstChild
public void StartWhitespaceForImportInsertedAsFirstChild ()
{
string projectFile = Util.GetSampleProject ("ConsoleApp-VS2013", "ConsoleApplication.csproj");
var p = new MSBuildProject ();
p.Load (projectFile);
p.Evaluate ();
var firstChild = p.GetAllObjects ().First ();
MSBuildImport import = p.AddNewImport ("MyImport.targets", beforeObject: firstChild);
Assert.AreEqual (p.TextFormat.NewLine, p.StartWhitespace);
Assert.AreEqual (" ", import.StartWhitespace);
}