【发布时间】:2016-08-26 17:30:50
【问题描述】:
使用 Visual Studio 2015 和 Sitecore 8.0
我使用 .Net Framework 4.6.1 创建了一个新的 MVC 项目,复制并引用了 Sitecore.kernel.dll 和 Sitecore.mvc.dll。将现有的 web.config 和 global.asax 替换为 sitecore 文件。
在解决方案中添加了一个纯 HTML 页面并尝试浏览它(来自 VS)。页面打开时出现此错误
无法加载文件或程序集 'System.Web.Http, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其其中之一 依赖项。系统找不到指定的文件。
此 HTML 页面尚未发布到 Sitecore。我猜,Sitecore.mvc.dll 想要 MVC 5.1.0 而 VS 项目中的 MVC 是 4.0。
所以,我尝试了以下步骤。
- 在 MVC 5.1.1 的包管理器控制台中运行 install package 命令会显示错误
无法加载源的服务索引 https://api.nuget.org/v3/index.json.
删除
%AppData%\NuGet\nuget.config并重启VS2015手动浏览https://api.nuget.org/v3/index.json,但页面未加载 -
Secure connection failed。但这 - http://api.nuget.org/v3/index.json 将提示下载 json。因此,在 nuget 中将 https 更改为 http,但它的错误相同 - 无法加载服务索引...
发生这种情况时,我什至无法启动我的第一个 Sitecore MVC 项目。
我用常规 VS 项目的 web.config 替换了 sitecore web.config,现在我可以浏览该页面了。我将其复制到输出目录设置为不复制,这样它就不会被发布。
以后我是否能够以这种方式继续我的 Sitecore 开发而不会出现任何重大问题。
【问题讨论】:
-
Sitecore MVC 依赖于特定版本的 ASP.Net MVC。您尝试安装正确的 Nuget 包的步骤是正确的。你的问题是 Nuget.... 我可以安装 MVC 5.1.1,访问api.nuget.org/v3/index.json。作为解决方法,您可以从 Sitecore 安装文件夹获取(和引用)正确的 MVC 程序集。但正确的方法是:找出 Nuget 的问题所在。 (我猜可能是防火墙)
标签: asp.net-mvc-4 sitecore nuget-package