【发布时间】:2013-03-23 04:06:12
【问题描述】:
我正在尝试通过 GitHub 自动将站点部署到 Azure,并且在提交到主分支后,Azure 会选择它并尝试部署,但我收到一条“部署失败”消息,错误如下:
App_Start\AuthConfig.cs(1,21):错误 CS0234:类型或命名空间 名称空间“Microsoft.Web”中不存在名称“WebPages”(是 你错过了一个装配参考?) [C:\DWASFiles\Sites\xxxxx\VirtualDirectory0\site\repository\xxxxx.UI.Web\xxxxx.UI.Web.csproj]
和
Controllers\AccountController.cs(18,7):错误 CS0246:类型或 找不到命名空间名称“WebMatrix”(您是否缺少使用 指令还是程序集引用?) [C:\DWASFiles\Sites\xxxxx\VirtualDirectory0\site\repository\xxxxx.UI.Web\xxxxx.UI.Web.csproj]
MVC 4(和 WebMatrix/WebPages 依赖项)通过 NuGet 安装在我的 UI.Web 项目中,而不是从 GAC 加载。程序集引用上的 Copy Local 设置为 true。知道为什么我可能会遇到这些部署问题吗?
【问题讨论】:
-
由于这是一个 GitHub 抓取和部署,您确定您的包和/或 bin 文件实际上处于源代码控制之下并被推送到您的存储库中吗?即使将本地复制设置为 true,如果您没有将它们推送到您的存储库中......他们也不会被发现复制
-
是的,但是由于它们是通过 NuGet 添加的,它不会在部署时安装这些包吗?
-
Nuget 只是将包下载到包文件夹并添加对项目的适当引用,以便在构建时,编译器知道去哪里获取它们。 NuGet 与 Azure 拉取您的分支并编译源代码没有任何关系。检查您的解决方案中的 packages 文件夹是否已提交到您的存储库,以便通过 GitHub 向 Azure 提供实际的 NuGet 下载
-
很抱歉回复晚了,但是 packages 文件夹也致力于源代码管理,并且包含所有必需的包。我并不是在推断 Azure 会去下载它们,只是因为它们是 NuGet 包,因此它们应该已经可供 Azure 使用,因此安装在包目录中。
-
使用FTP从azure下载项目,看看本地有什么问题。在我看来,这是找到错误的最快方法。
标签: asp.net-mvc azure