我正在尝试使用 C# 基本代码以编程方式恢复.NET 框架和 .NET 核心项目的packageReference。
我想过使用 dotnet.exe / msbuild.exe 但我不知道如何!
我想模拟我们可以用dotnet CLI做什么:
dotnet restore '.\myproject.csproj' --packages '.\OutputFolder'
但我想以编程方式进行。
感谢您的回答。
我正在尝试使用 C# 基本代码以编程方式恢复.NET 框架和 .NET 核心项目的packageReference。
我想过使用 dotnet.exe / msbuild.exe 但我不知道如何!
我想模拟我们可以用dotnet CLI做什么:
dotnet restore '.\myproject.csproj' --packages '.\OutputFolder'
但我想以编程方式进行。
感谢您的回答。
如果使用 shell 没问题,您可以尝试以下步骤使用 c# 恢复 nuget 包。
public static void RestorePackages(string solutionPath)
{
var dir = AppDomain.CurrentDomain.BaseDirectory;
ProcessStartInfo objPI = new ProcessStartInfo($"{dir}\\nuget.exe", $"restore \"{solutionPath}\" -Verbosity quiet");
objPI.RedirectStandardError = true;
objPI.RedirectStandardOutput = true;
objPI.UseShellExecute = false;
Process objProcess = Process.Start(objPI);
string error = objProcess.StandardError.ReadToEnd();
string output = objProcess.StandardOutput.ReadToEnd();
objProcess.WaitForExit();
}