【问题标题】:NuGet package fails to installNuGet 包安装失败
【发布时间】:2014-09-03 13:10:44
【问题描述】:

我们有一些内部可重复使用的库,目前我们正在我的工作地点处理这些库。我认为将其中一些放在内部 NuGet 服务器上会很好。不幸的是,事实证明这比计划的要难。

我正在试用的包是一个简单的 JavaScript 库。我创建了一个名为 Package 的文件夹,其中包含一个名为 Scripts 的文件夹,我将 JS 文件放入其中。然后我在 Package 文件夹中打开了一个命令提示符并运行了成功运行的 NuGet spec。然后我编辑了 .nuspec 文件并运行 NuGet pack,生成了一个 .nupkg 文件。

太好了,完美运行。我将包含 .nupkg 文件的文件夹添加为 NuGet 源。我现在可以(从命令行)运行 NuGet 安装,它工作正常!

我已经准备好一个测试项目并准备使用这个库,唯一剩下的就是安装包。因此,在 Visual Studio 中,我进入 Manage NuGet Packages 并选择我的源代码。我选择我的库并点击安装,然后会弹出一个显示进度的对话框。它说“成功安装”,然后退出。但是,在“管理 NuGet 包”中,安装按钮未更改为卸载按钮,该包未显示在“已安装包”下,并且该包中的任何文件都未添加到我的项目中或磁盘上不存在。以后再点击安装按钮什么也没做。

不太确定我做错了什么,非常感谢一些帮助。

谢谢,

YM

编辑:我应该提到我可以很好地安装其他包,我已经尝试在不同的解决方案中安装这个包,结果相同。

【问题讨论】:

    标签: visual-studio-2013 nuget


    【解决方案1】:

    好的,问题是 Scripts 文件夹不应直接位于包的根目录中,而必须位于 Content 文件夹下。这花了我很长时间来解决,希望它可以帮助其他人。

    【讨论】:

    • 我也有类似的问题。我没有像你这样的子文件夹。我只有一个 nupkg 文件,我将它直接放在 Packages 文件夹下。有什么建议可以解决这个问题吗?
    • 您需要一个文件夹来存放您的包裹。我称我的“包裹”。在此文件夹中放置 .nupkg 文件和一个名为 Content 的文件夹。在 Content 文件夹中放置所有要打包的文件。希望对您有所帮助。
    • 好吧,这就是我以前的:Packages 文件夹包含 [ mylib.dll 和 mylib.dll.1.0.0.nupkg ] 文件。现在我根据您的建议将其更改为这个,但似乎没有什么区别:Packages 文件夹包含 [ MyPackageFolder 和 Content ] 文件夹。 mylib.dll.1.0.0.nupkg 在 MyPackageFolder 中。 mylib.dll 在 Content 文件夹内。当我再次尝试在测试项目上安装它时,它告诉我它已经安装并且安装按钮永远不会更改为卸载。
    • 我明白了。我不知道创建解决方案级别包与项目级别包之间的区别。我不得不说 nuget 命名约定也让我受益匪浅!它早些时候没有用,因为我按照你的提示“重新安排”事情。关键是在创建并将内容放入正确的文件夹后重新打包。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    相关资源
    最近更新 更多