1

似乎 nuget 包存储在我们的应用程序 /packages 文件夹中。

我很困惑,因为我看不到 /bin 中的 dll(这是我们用来升级到生产的文件夹)。

我应该只更改对 /bin 的引用中的路径并复制 local = true 吗?

只是想确认一下,因为我很困惑为什么它去了 /packages。

4

2 回答 2

2

不。如果您使用 bin 作为构建的输出目录,则不应从中引用任何内容。您应该有一个单独的位置可以引用您的 DLL。当一个项目构建时,它会将所有必要的 DLL/EXE 复制到 /bin 文件夹。当您进行清理时,这些程序集将被删除。

使用 /bin 也可能会导致您的构建模式(调试/发布)出现问题,当它们全部混淆时,您如何确保引用正确的模式。

这个单独的位置看起来可能是您的 /packages 目录,尽管需要更多信息才能确定。

当我必须这样做时,我会在项目根目录上创建一个“lib”文件夹,将第 3 方或预构建的程序集放在那里,然后从那里引用它们。Copy local=true 会将它们复制到我从中运行(或复制)程序的 /bin 文件夹中。如果我正在开发一套程序,“lib”将是我的所有程序都可以从中提取的某个共享位置。

于 2013-01-18T17:15:13.087 回答
0

是的,将本地副本设置为“true”将是正确的方法。如果您不希望在 ..\Packages 文件夹中提取包并希望它位于集中位置 - 例如在源代码管理或公共 lib 文件夹的根目录,您可以在 nuget.config 文件中添加存储库路径。更多细节在这里@ http://docs.nuget.org/docs/release-notes/nuget-2.1#Specify_%e2%80%98packages%e2%80%99_Folder_Location

于 2013-02-02T20:47:11.237 回答