本文整理汇总了C#中ISolution.AddProject方法的典型用法代码示例。如果您正苦于以下问题:C# ISolution.AddProject方法的具体用法?C# ISolution.AddProject怎么用?C# ISolution.AddProject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISolution
的用法示例。
在下文中一共展示了ISolution.AddProject方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Generate
public virtual async Task<IProject> Generate(ISolution solution, string name)
{
var location = Path.Combine(solution.CurrentDirectory, name);
if (!Directory.Exists(location))
{
Directory.CreateDirectory(location);
}
IProject project = CPlusPlusProject.Create(solution, location, name);
project = solution.AddProject(project);
if (solution.StartupProject == null)
{
solution.StartupProject = project;
}
return project;
}
示例2: Generate
public override async Task<IProject> Generate(ISolution solution, string name)
{
var shell = IoC.Get<IShell>();
var project = await base.Generate(solution, name);
var catchProjectDir = Path.Combine(solution.CurrentDirectory, "AvalonStudio.Testing.Catch");
var catchProjectFile = Path.Combine(catchProjectDir, "CatchTestFramework.acproj");
if (!Directory.Exists(catchProjectDir))
{
await
Git.ClonePublicHttpSubmodule(this, "https://github.com/VitalElement/AvalonStudio.Testing.Catch.git",
catchProjectDir);
}
// Add project
var catchProject = Solution.LoadProjectFile(solution, catchProjectFile);
catchProject.Hidden = true;
solution.AddProject(catchProject);
// Reference catch.
project.AddReference(catchProject);
await SourceFile.Create(project, "UnitTest1.cpp", new UnitTestTemplate().TransformText());
project.ToolChain = shell.ToolChains.FirstOrDefault(tc => tc is LocalGCCToolchain);
project.Debugger = shell.Debuggers.FirstOrDefault(d => d is LocalDebugAdaptor);
project.TestFramework = shell.TestFrameworks.FirstOrDefault(d => d is CatchTestFramework);
project.ToolChain.ProvisionSettings(project);
var settings = LocalGCCToolchain.GetSettings(project);
settings.CompileSettings.Exceptions = true;
settings.CompileSettings.Rtti = true;
settings.CompileSettings.Optimization = OptimizationLevel.Debug;
settings.CompileSettings.CustomFlags += " -Wno-unknown-pragmas ";
project.Save();
solution.Save();
return project;
}
示例3: CreateSubmissionProject
private IProject CreateSubmissionProject(ISolution solution)
{
var name = "Submission#" + _documentNumber++;
var projectId = ProjectId.CreateNewId(solution.Id, name);
var version = VersionStamp.Create();
var compilationOptions = _compilationOptions.WithScriptClassName(name);
var projectInfo = new ProjectInfo(
projectId,
version,
name,
name,
LanguageNames.CSharp,
compilationOptions: compilationOptions,
parseOptions: _parseOptions,
metadataReferences: _references,
isSubmission: true);
solution = solution.AddProject(projectInfo);
if (_previousProjectId != null)
{
solution = solution.AddProjectReference(projectId, _previousProjectId);
}
return solution.GetProject(projectId);
}