是我做错了什么,还是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
然后使用Package Manager控制台进行修复
Install-Package Microsoft.AspNet.Mvc -Version 5.2.0.0
导致WebGrease错误再次出现,Nuget控制台希望我再次更新MVC
试图通过安装预期版本来修复web油脂错误,却在控制台中导致了这种情况:
"Install-Package : Updating 'WebGrease 1.6.0' to 'WebGrease 1.5.1' failed."
因此,对我来说,这并不是开箱即用的(安装了VS2013 Update 3),重新启动一个新项目似乎会让所有更新消失,所有错误再次出现,让我不得不重做整个过程,即使我"似乎"已经更新了我能更新的所有内容。而且它显然也不向后兼容。WebGrease 1.6对1.5.1不起作用。
我终于解决了这个问题,但我不知道为什么会是这样。
在我的外部设备上创建一个项目,该项目也是加密的,我将大部分项目存储在那里,这导致了这个错误。
当我把一个项目移到一个内部设备上,或者在那里创建一个项目时,这并没有发生。
当我把项目移到设备的根文件夹时,它也能工作,这意味着我的路径有问题。但我想,与其有很多程序集无法加载,不如得到这样的警告。这是一种错误的错误信息。据我所知,程序集可能位于安装位置,而不是我的项目中——所以我不知道为什么会发生这种错误,文件应该仍然可以访问。
我注意到,当在"我的文档"的默认文件夹中创建新项目时,它终于起作用了。
也许这是一个包含长文件夹名称的错误,但它在外部设备上的位置并没有那么深。5文件夹,在它所在的文件夹的PATH中大约有75个字符的长度。我认为在Windows开始抱怨"路径"的长度之前,至少有256个字符。
好吧,不管怎样。如果有人遇到了并非真正错误的错误,请检查您的文件夹及其位置。在早期版本的Visual Studio中,我有过比这更深入的项目,而且没有抱怨和错误。
我用更新4从Visual Studio 2013 Professional重新安装到Visual Studio 2013 for Web,两个版本都发生了相同的事情。也许这是两者的解决方案。