我正在尝试运行从TFS源代码控制中检索的Asp.net MVC项目.我添加了所有程序集引用,我能够成功构建和编译,没有任何错误或警告.
但是我在浏览器中收到以下错误:
找不到路径'C:\ B8akWorkspace\B8akProject\B8akSolution\B8AK.Portal\bin\roslyn\csc.exe'的一部分.
以下是错误页面的完整屏幕截图.
经过几天的研究,我了解Roslyn是.Net编译器平台,提供高级编译功能.但是,我不明白为什么我的构建试图找到\ bin\roslyn\csc.exe,因为我没有配置任何与Roslyn相关的东西,也没打算在我的项目中使用Roslyn.
运行C#7的最低.NET框架和CLR版本要求是什么?另外,我需要VS 2017来编译C#7吗?
我已经在我现在的公司工作了六个多月,我们目前正在使用Visual Studio 2012.我们将开始构建一个新的应用程序,我一直在努力获得Visual Studio 2015升级的承诺我们可以从最新技术开始.不幸的是,这是一家小公司,需要考虑预算.
有谁知道Visual Studio 2012是否支持C#6.0.我在想,因为它即将成为第三代旧版本,它可能无法获得支持.
更新:
我看到很多与VS2015社区版相关的评论,所以我想我会澄清我公司对该版本的立场.该公司拥有大约20名员工和6人IT团队,他们出于各种原因都需要VS. 我们还有超过100万美元的销售额,因此我们无法获得社区版.
更新2:
问:C#6.0中是否有一些特定的功能你不能没有?
答:虽然属性初始化器和主要构造器将减少代码中的大量箔条,但没有任何特定功能.
我想在Visual Studio 2017中使用C#8.0(尤其是范围和不可空的引用类型)。可能吗?
我在课堂上有这个代码
private string test;
public string Test
{
get => test;
set => test = value;
}
Run Code Online (Sandbox Code Playgroud)
但编译器不会让我编译.它说
CS1043 { or ; expected
CS1513 } expected
Run Code Online (Sandbox Code Playgroud)
我正在使用VS 2017并使用MVC 5项目定位.NET FW 4.6
知道为什么它不起作用吗?
我正在使用此代码来检查queryable值:
visitor.Queryable = queryable ?? throw new Exception("error message");
Run Code Online (Sandbox Code Playgroud)
我收到了编译错误:
错误CS1525:无效的表达式术语'throw'
我正在使用4.5.2 .net框架.有任何想法吗?
我们在TFS 2015中有一个构建定义,它在Visual Studio 2015项目和解决方案中运行良好.我们现在决定升级到Visual Studio 2017,因此我们希望在Visual Studio构建任务中定位Visual Studio 2017.我们在构建代理上安装了Visual Studio 2017.不幸的是,Visual Studio构建任务中唯一可用的选项是2012年,2013年,2015年和最新版本.我们尝试过最新版本,但在构建代理上找不到Visual Studio 2017.它也不适用于msbuild任务.
您可以在Visual Studio 2015(Enterprise)中打开C#7.0功能,还是需要升级到2017?
我有以下代码:
public static class ItemsHelper
{
public static object product
{
get
{
return HttpContext.Current.Items["product"];
}
set
{
HttpContext.Current.Items["product"] = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在函数中,我有以下表达式:
if (ItemsHelper.product is null) return false;
Run Code Online (Sandbox Code Playgroud)
我在视觉工作室2017测试,它工作正常,但我测试了运行visual studio 2015的两台不同的计算机,它检索到以下错误:
预期类型)
任何人都知道为什么会这样?
我有一个最初在VS 2017中创建的Xamarin Forms项目,然后我们发现我们需要针对Windows 8,所以我正在努力让项目在VS 2015中启动并运行.
我最初尝试在2015年打开2017项目,看起来还不错,但是在构建时,我在使用lambda语法(=>)的每一行都遇到错误,无论是在访问器中还是在常规函数引用中.错误是花园式语法错误; 编译器似乎根本不识别运算符.例如,get => _privateVal;导致错误CS1043 { or ; expected.
我认为2015年开设2017年项目是一个问题,所以我在2015年从零开始创建了一个新项目,但我遇到了同样的问题.
我没有很多.NET经验,但lambdas已经存在了很长时间,所以我不知道为什么一个两年前版本的Visual Studio会出现这样的问题.我猜它可能是一个构建目标问题(类似于Visual Studio 2008不能识别Lambda表达式语法),但如果就是这样,我真的不知道如何纠正它.
总之,任何人都可以解释为什么C#不能识别lambda语法,并想知道如何修复它?
c# ×9
c#-7.0 ×4
.net ×3
asp.net ×1
asp.net-mvc ×1
c#-6.0 ×1
c#-8.0 ×1
requirements ×1
roslyn ×1
tfs-2015 ×1