安装VS 2015后,从命令行运行csc.exe会导致此消息显示到控制台:
此编译器是作为Microsoft(R).NET Framework的一部分提供的,但仅支持C#5之前的语言版本,该版本已不再是最新版本。有关支持C#编程语言更新版本的编译器,请参见http://go.microsoft.com/fwlink/?LinkID=533240
该链接重定向到Roslyn在GitHub的存储库。< br >那么,这是从命令行运行“支持新版本的编译器”(Roslyn)的一种方法吗?
我怀疑Roslyn编译器的位置会根据您正在运行的Visual Studio而变化很多。
我通过这样的搜索找到了我的:
cd"\程序文件(x86)"
目录/s csc*.*|查找罗斯林
我的特定 csc.exe 位于:
< code > C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Current \ Bin \ Roslyn \ CSC . exe
Roslyn来自命令行('cmd'),Windows 10场景示例:
(注意:不需要安装Visual Studio,只需要安装.NET核心)
>
打开“cmd”并创建文件夹“dotnet csharp tools”:
D:
导航到文件夹“dotnet-csharp-tools”:
D:
在“dotnet-csharp-tools”文件夹中,从以下网址下载“nuget.exe”的最新版本:
https://www.nuget.org/downloads
检查最新版本的“Microsoft.CodeDom.Providers.DotNetCompilerPlatform”的名称,来自:
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
例如:“Microsoft.CodeDom.Providers。DotNetCompilerPlatform-版本3.6.0'
从“cmd”(打开文件夹“dotnet-csharp-tools”),运行命令:
D:\dotnet-csharp-tools
从“cmd”导航到“D:\dotnet csharp tools\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\tools\Roslyn472”(警告:如果是其他版本,文件夹名称“Roslyn47”可能不同)
D:\dotnet-csharp-tools
从“文件资源管理器”中找到“csc.exe”(在当前文件夹“Roslyn472”中)。使用名称“csc-roslyn.exe”复制“csc.exe”(名称可以是任何)。
对于“Windows 10”,请打开:
'编辑系统环境变量'-
关闭并再次打开“cmd”(命令提示符)。需要重新启动此“cmd”,因为“系统环境变量”已被编辑。
通过运行命令检查“csc-roslyn”是否被“cmd”识别:
CSC-罗斯林
创建文件夹 'D:\csharp-projects'(文件夹名称可以是任何名称)并在 'D:\csharp-projects' C# 源文件中创建,例如:
车辆. cs
class Vehicle
{
private string name = "unknown";
private int producedYear = -1;
public Vehicle(string name, int producedYear)
{
this.Name = name;
this.ProducedYear = producedYear;
}
public string Name
{
get { return this.name; }
set { this.name = value; }
}
public int ProducedYear
{
get { return this.producedYear; }
set { this.producedYear = value; }
}
}
汽车.cs
class Car : Vehicle
{
private string maker = "unknown";
public Car(string name, int age, string maker)
: base(name, age)
{
this.Maker = maker;
}
public string Maker
{
get { return this.maker; }
set { this.maker = value; }
}
public override string ToString()
{
return $"{this.Name}, {this.ProducedYear}, {this.Maker}";
}
}
Autoservice.cs
using System;
class Autoservice
{
public static void Main()
{
Car car1 = new Car("Ford Taunus", 1971, "Ford");
Car car2 = new Car("Opel Ascona", 1978, "Opel");
Car car3 = new Car("Saab 900", 1984, "Saab");
Console.WriteLine(car1);
Console.WriteLine(car2);
Console.WriteLine(car3);
}
}
从“cmd”(命令提示符)打开“D:\csharp projects”并运行命令:
CSC-Roslyn /target: exe /out:Autoservice.exeVehicle.csCar.csAutoservice.cs
从'cmd'运行:
Autoservice.exe
结果应为:
福特陶努斯,1971年,福特欧宝阿斯科纳,1978年,欧宝萨博900,1984年,萨博
听起来你的道路基本上是不合适的。如果打开“VS2015 的开发人员命令提示符”,则在路径的早期应该有 $ProgramFiles(x86)$\MSBuild\14.0\bin
- 并且 csc .exe
中有 Roslyn。
我怀疑你运行的是< code>c:\Windows\Microsoft中的版本。NET\Framework\4.0.30319或类似的版本——基本上是遗留版本。
有人能发布详细的分步说明如何安装Saxon(10 HE)以及如何从MacOS(10.13.6)中的命令行运行转换吗? 我已经在我的计算机上安装了Java 我已经下载了SaxonHE10-6J。来自SourceForge的zip文件 根据这里的建议,我放置了saxon-he-10.6。jar位于myUserName/Library/Java/Extensions文件夹中 然后,我打开终端应用程序并根
我知道以前有人问过这个问题,但是那里的信息都没有帮助我。 我的情况是:我无法运行编译后的Kotlin类。当我尝试像运行普通java类一样运行它时,我得到了以下结果: 这让我相信,考虑到这个输出,Kotlin运行时根本就不存在。所以我尝试了以下方法: 这让我想到,也许我需要将类文件添加到我声明的类路径中,所以: 我错过了什么?
问题内容: 我很难找到答案。使用普通的Node.JS,您可以使用,CoffeeScript 和ES6具有的任何js文件。我如何使用Typescript进行操作? 我的项目有一个供Webpack / ts- loader使用的工具,用于为浏览器构建一个不错的小捆绑包。不过,在此之前,我需要从控制台运行一个构建步骤,该步骤将使用项目中使用的某些文件来生成模式,但是如果不进行编译,我似乎无法运行单个Ty
我遵循以下指示https://code.visualstudio.com/docs/setup/mac但我没有成功。这就是我进去时发生的事情 我得到了以下信息: 我还查找了以下问题:如何在OSX上从命令行打开Visual Studio代码?,这没用。 我在VSCode中只有一个终端选项,zsh。
问题内容: 当我尝试从PyCharm IDE运行程序时,一切正常,但是如果我输入Fedora: 在shell提示中,我从1个模块收到导入错误。 当从IDE启动时,PyCharm可以执行哪些操作以使解释器找到我的依赖项?如何获得脚本以找到其依赖项,以便可以使用singe命令启动它? 问题答案: 有一些可能的原因可能导致这种情况: 相同的python解释器?检查与 它是同一工作目录吗?检查与 中的差异
问题内容: 到目前为止,我主要使用eclipse。现在,我正在尝试从终端运行Java,但程序包存在问题。 这是我的文件: 我使用编译此代码,然后运行,它给我: 当我删除一切正常。我想念什么? 给出: 问题答案: 您需要在一个目录级别上运行java命令,并以完全合格的软件包名称提供它,例如: 请参阅Java Launcher如何查找用户类 以了解其工作方式。