asp.net – Visual Studio 2015 RC中的界面上的错误“Visual Basic 9.0不支持自
|
我已经开设了一个以前在2015年RC Visual Studio 2012开发的网站项目.项目目标.net 3.5. 我有这个接口定义: Public Interface ICurrentStep
Property outerstep() As String
Property innerstep() As String
End Interface
我为每个属性获取以下构建错误:“BC36716 Visual Basic 9.0不支持自动实现的属性”. 我不明白为什么Visual Studio 2012对此完全满意,但2015年不是.在xcopy和已发布的版本中,该网站在.net 3.5下工作正常. 我也不明白如何以任何其他方式定义接口.这可能是2015 / Roslyn bug吗? 定位.net 4.0确实消除了问题,但是由于某些外部依赖关系,这不是目前部署的一个选择.我认为这是因为幕后的目标是根据Is it possible to force Visual Studio 2010 to use Visual Basic 10?不同的编译器 解决方法这确实在Roslyn编译器中似乎是一个错误.编译器运行在奇怪的模式,它检查(但不是真正编译)App_Code中的代码 – 该代码实际上在网站启动时被编译.因为它知道你已经将代码设置为在v3.5下运行,所以它假设代码实际上是由“v2.0”编译器编译的,所以它有效地运行check / compile,就像你指定了 所以,这就是为什么错误消息是谈论Visual Basic 9不支持的东西.但是,如果您使用真正的VB9编译器编译代码,那么它当然可以编译. 作为编译器相当困惑的证据,我将您的示例更改为: Public Interface ICurrentStep
Property outerstep() As String = "Hello"
Property innerstep() As String
End Interface
这将在界面中产生一个不允许初始化的错误.但是,而不是两个错误消息,指出“Visual Basic 9.0不支持自动实现的属性”.我们还会收到错误“扩展属性无法初始化”.但是,这不是make sense:
也就是说,单个属性可以自动实现或扩展. 我的建议是将尽可能多的代码移出App_Code,或者在其外部或不同的库中.这将意味着代码实际上是由Roslyn编译器直接编译(而不是/ langversion设置),并且您实际上可以开始使用现代VB功能(您仍然可以定位v3.5但使用以后的语言功能) 或者,您可以将代码留在App_Code中,并选择忽略错误.如果只是两个错误,这在短期内可能是可行的. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 为什么_ViewStart.cshtml访问ViewBag对象
- asp.net-mvc-4 – Kendo UI组合框复位值
- ASP.NET MVC 4和会话安全漏洞
- 使用System.Net.Mail中的SMTP发送邮件(带附件)
- asp.net-mvc – 如何通过MVC Azure AD身份验证从AD获取角色
- asp.net – 如何获取当前登录用户的角色列表
- 使用ASP.NET Web API进行OAuth Facebook身份验证
- asp.net-mvc – ASP.NET MVC:多个项目错误
- Asp.net – 空QueryString参数
- asp.net-mvc – 更改ASP.NET MVC筛选器中的视图
- asp.net-mvc-3 – StructureMap初学者|物业注入
- asp.net-mvc – 显式指定ASP.NET MVC中控制器返回
- ASP.NET MVC 3自定义身份验证/授权
- ASP.NET自带对象JSON字符串与实体类的转换
- asp.net-mvc – 有没有办法让RoutePrefix以可选参
- 在对ASP.NET MVC Action的AJAX请求期间有网络请求
- 如何在两个不同的文件夹中应用asp.net授权?
- asp.net-mvc – 如何使用Visual Studio 2013和En
- asp.net – WebApi:将参数映射到标头值
- asp.net-mvc-3 – 显示modelstate错误
