0

我做错了什么还是 Visual Studio 2013 默认项目损坏了?

创建一个新的基本 MVC 项目:

File -> New -> Project
and
Templates / Visual C# / Web / ASP.Net Web Application
and
MVC with no Authentication

并立即运行“模板默认空项目”我得到

Could not load file or assembly 'WebGrease, Version=1.5.1.25624....

Line 5:      <meta name="viewport" content="width=device-width, initial-scale=1.0">
Line 6:      <title>@ViewBag.Title - My ASP.NET Application</title>
Line 7:      @Styles.Render("~/Content/css")
Line 8:      @Scripts.Render("~/bundles/modernizr")
Line 9:  </head>

Templates / Visual C# / Web / Visual Studio 2012 / ASP.Net Web MVC 4 Application

Razor, Internet Application with a Test Unit

我立即开始得到:

Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0...

嗯......这是默认项目,这让我想知道为什么我需要在做任何事情之前立即修复任何事情。这很有趣,当您尝试在开始编码之前尝试修复问题时。

这是安装了所有内容的 Visual Studio 2013 Pro,这些是“默认新项目”。

删除了导致异常的行,没有任何效果。安装了 WebGrease、Web.Optimization 和 DotNetOpenAuth 扩展、Bootstrap(因为它看起来像 CSS 问题)。

看起来这有解决方案但没有运气: 无法加载文件或程序集“WebGrease”或其依赖项之一

简而言之,如果我需要在开始一个新项目之前修复每个项目 - 一定有问题。

编辑

在 Nuget 控制台中重新安装和更新所有内容会使上述两个错误都消失,但随后会发生这种情况:

'System.Web.Mvc, Version=5.2.0.0" exception

然后使用包管理器控制台修复它

Install-Package Microsoft.AspNet.Mvc -Version 5.2.0.0

导致 WebGrease 错误再次出现,Nuget 控制台希望我再次更新 MVC

尝试通过安装预期版本来修复 webgrease 错误,而不是在控制台中导致此问题:

"Install-Package : Updating 'WebGrease 1.6.0' to 'WebGrease 1.5.1' failed."

所以对我来说,它不能开箱即用(安装了 VS2013 Update 3)并且重新启动一个新项目似乎会使所有更新消失并且所有错误再次出现,让我重做整个过程,即使我“似乎“更新了我可以更新的所有内容。而且它也很明显不向后兼容。WebGrease 1.6 不适用于 1.5.1。

4

1 回答 1

0

我终于设法解决了这个问题,但我不知道为什么会这样。

在我的外部设备上创建一个也被加密的项目,我存储我的大部分项目会导致这个错误。

当我将一个项目移动到内部设备或在那里创建一个项目时 - 它不会发生。

当我还将项目移动到设备的根文件夹时,它也可以工作,这意味着我的路径有问题。但我想这种警告会更好,而不是有很多程序集无法加载。这是一种错误的错误信息。据我所知,这些程序集可能位于安装位置而不是我的项目中 - 至于为什么会发生此错误,我不知道,文件应该仍然可以访问。

我注意到在“我的文档”的默认文件夹中创建一个新项目时它终于起作用了。

也许这是一个包含长文件夹名称的错误,但它在外部设备上的位置并不那么深。5个文件夹,在它所在文件夹的PATH中大约有75个字符长度。而且我认为在Windows开始抱怨“路径”长度之前至少有256个字符。

好吧,无论如何。如果有人遇到并非真正错误的错误,请检查您的文件夹及其所在位置。在早期版本的 Visual Studio 中,我有比这更深的项目,而且没有抱怨和错误。

我使用 Update 4 从 Visual Studio 2013 Professional 重新安装到 Visual Studio 2013 for Web,两个版本都发生了同样的事情。可能是两者的解决方案。

于 2014-11-14T13:31:42.033 回答