我想基于Packages.config
& 包引用以编程方式为 .net core 和 .net Framework 恢复 nuget 包。
任何想法?
谢谢!
我想基于Packages.config
& 包引用以编程方式为 .net core 和 .net Framework 恢复 nuget 包。
任何想法?
谢谢!
nuget.exe 工具处理这两种情况。因此,不要使用“msbuild /t:Restore”或“dotnet restore”,只需运行“nuget restore”即可。如果您想以编程方式执行此操作,可以使用 nuget 包 Nuget.CommandLine(通过 Nuget 或 Chocolatey 安装,具体取决于您的需要)
如果使用 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();
}