Cha*_*let 2 command-line nuget nuget-package
我在使用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'.
Run Code Online (Sandbox Code Playgroud)
它抛出一个未设置为对象实例的Object引用.例外.
但顺便说一句,我的进程WorkingDirectory是C:\ Project,所以文件路径没问题.
奇怪的是,当我使用标准的Windows命令行,cd进入.csproj文件夹并执行相同的命令时,正在创建nupkg文件.
如果我做:
cd ..
Run Code Online (Sandbox Code Playgroud)
并运行:
nuget.exe pack Project\Project.csproj -Prop Configuration=Release
Run Code Online (Sandbox Code Playgroud)
我得到的Object引用未设置为对象的实例.例外.
我的控制台应用代码是:
var process = new Process {
StartInfo = new ProcessStartInfo("nuget.exe",
"pack Project.csproj -Prop Configuration=Release")
{
WorkingDirectory = "C:\\Project",
UseShellExecute = false,
RedirectStandardInput = true,
}
};
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,我的问题是在更新软件包(以及SVN中的合并)之后,packages.config文件仍然引用了包的两个版本:旧包和新包.使用旧包删除文件夹后,"对象引用未设置为对象的实例." - 弹出错误.
因此,要解决该错误,请确保您的packages.config文件中只包含一个版本的软件包.
| 归档时间: |
|
| 查看次数: |
4570 次 |
| 最近记录: |