首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nuget pack引发未设置为对象实例的对象引用。异常

nuget pack引发未设置为对象实例的对象引用。异常
EN

Stack Overflow用户
提问于 2012-04-20 21:12:10
回答 2查看 5.3K关注 0票数 2

我在使用nuget.exe命令行工具时遇到了一个奇怪的问题。

我有一个控制台应用程序,它启动一个执行nuget命令行工具的进程。

下面是输出:

代码语言:javascript
运行
复制
nuget.exe pack Project.csproj -Prop Configuration=Release 
Attempting to build package from 'Project.csproj'. Packing files from
'C:\Project\bin\Release'.

它抛出未设置为对象实例的对象引用。异常。

但是,我的进程项目是C:\ WorkingDirectory,所以文件路径是ok的。

奇怪的是,当我使用标准的windows命令行,cd进入.csproj文件夹并执行相同的命令时,nupkg文件就被创建了。

如果我这样做了:

代码语言:javascript
运行
复制
cd ..

并运行:

代码语言:javascript
运行
复制
nuget.exe pack Project\Project.csproj -Prop Configuration=Release

我正在获取未设置为对象实例的对象引用。异常。

我的控制台应用程序代码是:

代码语言:javascript
运行
复制
var process = new Process  {
    StartInfo = new ProcessStartInfo("nuget.exe", 
                                     "pack Project.csproj -Prop Configuration=Release")
                    {
                        WorkingDirectory = "C:\\Project",
                        UseShellExecute = false,
                        RedirectStandardInput = true,
                    }
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-21 14:28:09

我遇到了同样的问题,我的问题是在更新包(以及SVN中的合并)之后,packages.config文件仍然引用了包的两个版本:旧的和新的包。在我删除了包含旧包的文件夹后,弹出了"Object reference not set to an instance of an object."-error。

因此,要解决这个错误,请确保您的packages.config文件中只有一个版本的包。

票数 6
EN

Stack Overflow用户

发布于 2012-09-06 00:08:18

我认为这个空引用错误的发生是因为你的packages.config中有一个你不再拥有的程序集的入口。

例如,我的packages.config是这样的。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="H.Common" version="1.0.0.9" targetFramework="net35" />
  <package id="H.Common" version="1.0.0.10" targetFramework="net35" />
  <package id="H.Validation" version="3.0.0.50" targetFramework="net35" />
</packages>

nuget pack引发了一个错误,因为配置引用了一个重影程序集。我删除了这一行,现在配置变成这样。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="H.Common" version="1.0.0.10" targetFramework="net35" />
  <package id="H.Validation" version="3.0.0.50" targetFramework="net35" />
</packages>

它现在编译了happy。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10246949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档