Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式编译.NETCore3.1应用程序?_C#_Asp.net Core_Compilation_.net Core 3.1 - Fatal编程技术网

C# 如何以编程方式编译.NETCore3.1应用程序?

C# 如何以编程方式编译.NETCore3.1应用程序?,c#,asp.net-core,compilation,.net-core-3.1,C#,Asp.net Core,Compilation,.net Core 3.1,有没有办法从.NET Core 3.1中的控制台应用程序编译WebAPI应用程序 我尝试了许多不同的方法,例如: 一, (指向.sln的路径) 错误:MSB4041:项目的默认XML命名空间必须是MSBuild XML命名空间 二, (指向.sln的路径) 错误:Microsoft.Build.Exceptions.InvalidProjectFileException:'无法加载项目文件。根级别的数据无效 (指向.csproj的路径) 错误:Microsoft.Build.Exceptions

有没有办法从.NET Core 3.1中的控制台应用程序编译WebAPI应用程序

我尝试了许多不同的方法,例如:

一,

(指向.sln的路径)

错误:MSB4041:项目的默认XML命名空间必须是MSBuild XML命名空间

二,

(指向.sln的路径)

错误:Microsoft.Build.Exceptions.InvalidProjectFileException:'无法加载项目文件。根级别的数据无效

(指向.csproj的路径)

错误:Microsoft.Build.Exceptions.InvalidProjectFileException:“找不到指定的SDK‘Microsoft.NET.SDK.Web’。
3.

ProjectCollection pc=newprojectcollection();
Dictionary GlobalProperty=新字典();
添加(“配置”、“调试”);
添加(“平台”、“任何CPU”);
GlobalProperty.Add(“OutputPath”,Directory.GetCurrentDirectory()+“\\MyOutput”);
BuildParameters bp=新的BuildParameters(pc);
BuildManager.DefaultBuildManager.BeginBuild(bp);
BuildRequestData BuildRequest=new BuildRequestData(projectFilePath,GlobalProperty,null,新字符串[]{“Build”},null);
BuildSubmission-BuildSubmission=BuildManager.DefaultBuildManager.PendBuildRequest(BuildRequest);
BuildSubmission.Execute();
BuildManager.DefaultBuildManager.EndBuild();
if(BuildSubmission.BuildResult.OverallResult==BuildResultCode.Failure)
{
抛出新异常();
}
(指向.sln和.csproj的路径)

错误:生成结果为失败,没有报告异常

然而,这些方法都不起作用。
因此,我想知道是否有可能编译.NETCore3.1WebAPI代码

什么
不起作用
?你面临的问题是什么?您是否尝试从code运行
dotnet build
命令?对于我来说,调用
dotnet build
可以工作,但在服务器上运行需要15分钟。这是相当快的地方,所以它可能为你工作。我用它的
StartInfo=“dotnet”
参数=$“build{solutionFilePath}--configfile{nugetConfigPath}--nologo--verbosity minimal”
var collection = ProjectCollection.GlobalProjectCollection;
var project = collection.LoadProject($@"{path}\Project.csproj");
project.SetProperty("Configuration", configuration);
project.Build();
new Microsoft.Build.Execution.ProjectInstance("PathToProject.sln").Build();
ProjectCollection pc = new ProjectCollection();

Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
GlobalProperty.Add("Configuration", "Debug");
GlobalProperty.Add("Platform", "Any CPU");
GlobalProperty.Add("OutputPath", Directory.GetCurrentDirectory() + "\\MyOutput");

BuildParameters bp = new BuildParameters(pc);

BuildManager.DefaultBuildManager.BeginBuild(bp);
BuildRequestData BuildRequest = new BuildRequestData(projectFilePath, GlobalProperty, null, new string[] { "Build" }, null);

BuildSubmission BuildSubmission = BuildManager.DefaultBuildManager.PendBuildRequest(BuildRequest);
BuildSubmission.Execute();
BuildManager.DefaultBuildManager.EndBuild();
if (BuildSubmission.BuildResult.OverallResult == BuildResultCode.Failure)
{
    throw new Exception();
}