我在使用 nuget.exe 命令行工具时遇到了一个奇怪的问题。
我有一个控制台应用程序,它启动一个执行 nuget 命令行工具的进程。
这是输出:
nuget.exe pack Project.csproj -Prop Configuration=Release
Attempting to build package from 'Project.csproj'. Packing files from
'C:\Project\bin\Release'.
它会抛出一个未设置为对象实例的对象引用。例外。
不过顺便说一下,我的进程WorkingDirectory是C:\Project,所以文件路径就ok了。
奇怪的是,当我使用标准的 windows 命令行时, cd 进入 .csproj 文件夹并执行相同的命令,正在创建 nupkg 文件。
如果我做:
cd ..
并运行:
nuget.exe pack Project\Project.csproj -Prop Configuration=Release
我得到的对象引用未设置为对象的实例。例外。
我的控制台应用程序代码是:
var process = new Process {
StartInfo = new ProcessStartInfo("nuget.exe",
"pack Project.csproj -Prop Configuration=Release")
{
WorkingDirectory = "C:\\Project",
UseShellExecute = false,
RedirectStandardInput = true,
}
};