【发布时间】:2014-04-26 22:40:37
【问题描述】:
这可能是一个非常基本的问题,但是packages 文件夹下的 DLL 复制到 bin 文件夹的机制是什么?
例如,我有一个解决方案,其中包含一个网站类型的“项目”(节点)(即,没有 csproj,只是基于文件系统)。这是一个非常基本的静态网站。我想添加 ASP.NET 网页支持,所以我安装了this NuGet package,现在packages 文件夹下有一些 DLL,我的web.config 已更新。但是,当我运行该站点时,它显示 YSOD 并显示错误“无法确定要使用的 ASP.NET 网页的版本”,我猜这是因为其中没有包含 DLL 的 bin 文件夹(当我创建一个在 Visual Studio 中从头开始的“Razor”站点,bin 文件夹就在那里)。如果我尝试重建解决方案,它会失败并出现同样的错误,这次是编译错误(不是运行时错误)。
从packages 文件夹恢复bin 文件夹的命令或机制是什么?我不想在我的源代码控制中有 DLL,根据 NuGet 文档,似乎非常支持这个工作流。我想如果它是基于 csproj 的项目,会有一些 MS Build 操作或类似的东西来使用 packages 文件夹中的 DLL,但这是一个网站,我无法定义高级构建操作,可以吗?
【问题讨论】:
-
当我创建一个新的 ASP.NET 网站(Razor v3)时,该包已经安装。
-
是的,就是从头开始。但是请参阅问题中的示例 - 我从一个已经存在的项目开始,目前没有
bin文件夹。 -
我不想在我的源代码管理中包含 DLL,根据 NuGet 文档,似乎非常支持此工作流。 当您可以构建时支持此工作流一个专案。 NuGet 包还原会在生成之前下载所需的包。我认为您必须创建一个 bin 文件夹并将其提交到源代码管理。