本文整理汇总了C#中SolutionFolder.AddFromFile方法的典型用法代码示例。如果您正苦于以下问题:C# SolutionFolder.AddFromFile方法的具体用法?C# SolutionFolder.AddFromFile怎么用?C# SolutionFolder.AddFromFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SolutionFolder
的用法示例。
在下文中一共展示了SolutionFolder.AddFromFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateProject
private void CreateProject(
SolutionFolder solutionFolder,
ProjectData projectData,
Action<double> progressAction,
CancellationToken ct)
{
var projectName = $"{_replacementsDictionary["$safeprojectname$"]}.{projectData.Name}";
var sourceFileName = Path.Combine(_tmpFolder, projectData.FileName);
var sourceDir = Path.GetDirectoryName(sourceFileName);
var solutionDir = _replacementsDictionary["$solutiondirectory$"];
var destDir = Path.Combine(solutionDir, projectName);
var replacementDictionary = CreateProjectReplacementDictionary(projectName);
CopyDirectory(replacementDictionary, sourceDir, destDir, progressAction, ct);
var oldFileName = Path.GetFileName(sourceFileName);
var ext = Path.GetExtension(oldFileName);
var newFileName = projectName + ext;
var newFullFileName = Path.Combine(destDir, newFileName);
File.Move(Path.Combine(destDir, oldFileName), newFullFileName);
var solutionData = _wizardDataViewModel.SelectedSolution;
ModifyProject(newFullFileName, solutionData);
var addedProject = solutionFolder == null
? GetSolution().AddFromFile(newFullFileName)
: solutionFolder.AddFromFile(newFullFileName);
foreach (SolutionConfiguration solutionConfiguration in GetSolution().SolutionBuild.SolutionConfigurations)
{
var solutionContext = solutionConfiguration.SolutionContexts
.OfType<SolutionContext>()
.Single(x => x.ProjectName.EndsWith(newFileName));
Debug.WriteLine("Project Name: " + projectName);
var name = solutionConfiguration.Name;
name = $"{name}|{solutionContext.PlatformName}";
var projectConfiguration = projectData.ProjectConfigurations.SingleOrDefault(x => x.Name == name);
if (projectConfiguration == null && System.Diagnostics.Debugger.IsAttached)
{
System.Diagnostics.Debugger.Break();
}
Debug.Assert(projectConfiguration != null, "ProjectConfiguration not found for " + name);
try
{
solutionContext.ConfigurationName = projectConfiguration.ConfigurationName;
solutionContext.ShouldBuild = projectConfiguration.IncludeInBuild;
}
catch (COMException)
{
}
}
if (projectData.IsStartup)
{
GetSolution().Properties.Item("StartupProject").Value = addedProject.Name;
}
progressAction(1.0);
}
示例2: AddProject
private void AddProject(SolutionFolder parent, ProjectTemplate project, IList<Project> projects)
{
var projectFullName = project.FileName;
var projectFileName = Path.GetFileName(projectFullName);
var projectDirectory = Path.GetDirectoryName(projectFullName);
Debug.Assert(projectDirectory != null, "projectDirectory != null");
var directoryName = Path.GetDirectoryName(projectDirectory);
var path1 = Path.GetDirectoryName(directoryName);
Debug.Assert(path1 != null, "path1 != null");
var newProjectDirectory = Path.Combine(path1, Path.GetFileName(projectDirectory));
Debug.Assert(projectFileName != null, "projectFileName != null");
var newProjectFullName = Path.Combine(newProjectDirectory, projectFileName);
CopyDirectory(projectDirectory, newProjectDirectory);
var addedProject = parent == null
? GetSolution().AddFromFile(newProjectFullName)
: parent.AddFromFile(newProjectFullName);
projects.Add(addedProject);
}