我刚刚切换到VS 2015.我有一个较旧的MVC 5应用程序,运行4.52.在VS 2013中,它非常好.
在VS 2015中,我的红色波浪形在我的下面,@Html.TextBoxFor()有一个错误表明:
"Expression <>"类型在未引用的程序集中定义.您必须添加对程序集'System.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用.
该项目构建和运行正常 - 但我担心VS 2013中从未发生的IntelliSense错误.好的,所以我尝试按照上面的错误中的建议添加对System.Core的引用,然后我收到此错误:
无法添加对"System.Core"的引用.构建系统已自动引用此组件.
再次,这在VS 2013中很好.
我可以在Visual Studio 2010中编译和测试我的.NET 4.0 Web应用程序.但是,如果我将本地IIS指向包含该应用程序的文件夹,则会出现以下错误:
Compiler Error Message: CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)
Source Error:
Line 388: <add namespace="System.ComponentModel.DataAnnotations" />
Line 389: <add namespace="System.Configuration" />
Line 390: <add namespace="System.Linq" />
Line 391: <add namespace="System.Text" />
Line 392: <add namespace="System.Text.RegularExpressions" />
Source File: c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config Line: 390
Run Code Online (Sandbox Code Playgroud)
如何从框架中的web.config不能为我编译?
我在网上发现了类似的问题,大多数只是说'添加此引用...',但编辑默认的web.config是不对的 - 可以吗?
问题
转到特定页面时出错(在本地调试中):CS0012:类型'System.Data.Linq.DataContext'在未引用的程序集中定义.您必须添加对程序集'System.Data.Linq,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用.
以下是错误消息中引用的代码行:
第28行:
第29行:
第30行:公共类_Page_Views_blah_granny_cshtml:System.Web.Mvc.WebViewPage {
第31行:
第32行:#line隐藏
所有其他页面都很有效 - 这只在特别是访问一个页面时才会发生.该引用适用于所有其他页面.据我所知,这不是引用的问题.
我花了很多时间来研究这个问题.
我发现的所有答案建议转到web.config并在system.web> configuration> assemblies中为linq添加程序集引用.我没有列出组件,我怀疑这是旧版本的更多.无论如何,我做到了.它给了我另一个错误,说它不知道如何处理程序集.
我删除了system.data.linq并再次添加它.
我重新启动了VS和我的电脑.
我的代码 - 由VS默认生成 - 具有System.Linq.
背景 - 这是如何开始的:
该应用程序是MVC 4,C#.
我在DataContext中创建了一个新类,添加了一个新的控制器,并创建了一个强类型视图.
这是一些非常相似的代码(可能不需要,但以防万一).
两个班:
public class granny {
public string data { get; set; }
public string criteria { get; set; }
}
public List<granny> getGranny() {
var a = from x in grannytable
join dx in anothertable
on x.criteria equals dx.criteria
select new granny {
data …Run Code Online (Sandbox Code Playgroud)