黑马程序员技术交流社区

标题: 如何配置CSC编译器 [打印本页]

作者: 杨敏Yummy    时间: 2013-11-1 12:39
标题: 如何配置CSC编译器
本帖最后由 杨敏Yummy 于 2013-11-3 12:25 编辑

本来打算使用C#编译器来编译运行程序,可是却无法使用,错误如下:

然后去看了这个CS1567的错误,
MSDN上面这么写的:生成 Win32 资源时出错:“file”  您的编译或者使用了 /win32icon 编译器选项,或者未使用 /win32res 编译器选项,这导致编译器生成包含资源信息的文件,但编译器因磁盘空间不足或其他某些错误而无法创建文件。 如果您无法解决此文件生成问题,可以使用 /win32res,该编译器选项不生成包含资源信息的文件。
看了一圈还是不明白啊~~~

后来准备弃而使用PowerShell来编译,弹出另外一个错误:

无法将“CSC”项识别为cmdlet 函数、脚本文件或者可运行程序名称。

难道是我安装的程序有问题吗,可是在VS里面编译时没有问题的,请高手出来指教~~~




作者: haxyek    时间: 2013-11-2 09:42
求大图,以及程序代码,
作者: 追溯客    时间: 2013-11-2 10:46
看不清楚哦\!
作者: dashanren    时间: 2013-11-2 13:07
只要安装了.net framework4.0就行了,管理员身份打开cmd 首先到你写的程序目录 比如D盘目录;再运行css xxx.cs就行了
作者: hourglass    时间: 2013-11-2 16:34
本帖最后由 hourglass 于 2013-11-2 16:36 编辑

楼上说出了操作方法, 在此之前,还需要配置一下系统环境, 不然是没办法识别csc的。
首先.net framework4.0是必须的, 然后就是配置环境了。
查看"我的电脑"的属性,在左边有一个"系统高级设置":

然后选择"高级",选择"环境变量":

在下面"系统变量"中找到"Path",双击:

然后在"变量值"的最后面添加csc的文件目录,文件目录一般是"C:\Windows\Microsoft.NET\Framework64\v4.0.30319",注意,尾部添加该路径时,要先添加一个分号";",作为与其他路径的分隔符。
配置完后,保存即可。
作者: 杨敏Yummy    时间: 2013-11-2 16:36
dashanren 发表于 2013-11-2 13:07
只要安装了.net framework4.0就行了,管理员身份打开cmd 首先到你写的程序目录 比如D盘目录;再运行css xxx. ...

这个已经安装了,以管理员模式打开命令行也不可行,我后来还找到csc.exe这个文件,点出来直接闪退,估计安装的有问题~~~
作者: 杨敏Yummy    时间: 2013-11-2 16:42
haxyek 发表于 2013-11-2 09:42
求大图,以及程序代码,

不好意思,我是大图传上去的,可是出来就被自动缩小了。
问题主要是CSC编译器不能用,编译CS文件时会出CS1567的错误码。
然后如果使用系统自带的命令行来编译,就会出现无法将CSC项识别为cmdlet函数、脚本文件或者可运行程序名称这样的错误提示。
作者: 杨敏Yummy    时间: 2013-11-2 17:23
hourglass 发表于 2013-11-2 16:34
楼上说出了操作方法, 在此之前,还需要配置一下系统环境, 不然是没办法识别csc的。
首先.net framework4. ...

你好,是这样子的。我加了那行路径之后,在PowerShell里面是可以编译cs文件的,然后也会产生对应的exe文件,双击这个文件也是可以执行的,但是在PowerShell里面又不可以直接执行这个exe文件。比如我在里面输一个test.exe就会出现跟之前一样的错误,找不到cmlet函数之类的。

我又到命令行里面去试,结果还是编译不了,跟之前一样说是生成Win32资源出错。然后还有的怪事就是我进入不了其他路径了。比如一开始默认的路径是C:\Users\Administrator> 我想进入到D盘目录下,cd d:,命令行会显示D:\ 然后光标又自动跳转到C:\Users\Administrator>下面。

这么看来应该是编译器的路径设置不正确,会不会还有哪边没有注册或者声明之类的。

先谢谢你!顺便搭个讪,你是.NET几期的?
作者: hourglass    时间: 2013-11-2 17:53
本帖最后由 hourglass 于 2013-11-2 18:03 编辑
杨敏Yummy 发表于 2013-11-2 17:23
你好,是这样子的。我加了那行路径之后,在PowerShell里面是可以编译cs文件的,然后也会产生对应的exe文 ...

PowerShell我不太了解, 没用过这个。
关于输入cd d:在进入D盘后马上后回到了默认位置, 你试试直接输入d:,进入非磁盘根目录的时候再使用cd。
还有从你开始的截图来看, 你这个命令窗口不是直接运行cmd命令出来的窗口吧, 如果是的话, 你可以试试到C:\Windows\system32目录下去找cmd.exe,然后再运行那些命令试试。
还有就是, 你现在的用户应该是Administrator吧, 我看你之前的报错中有拒绝访问, 好像权限不够的样子。

我准备报第十期的,现在正急着凑技术分呢, 现在要到开学的时间了, 问题帖都变少了, 都拿不到技术分了{:3_65:}你呢?

作者: 杨敏Yummy    时间: 2013-11-3 12:24
hourglass 发表于 2013-11-2 17:53
PowerShell我不太了解, 没用过这个。
关于输入cd d:在进入D盘后马上后回到了默认位置, 你试试直接输入d: ...

问题好像找到了,就是权限的问题。我使用的是新建的一个账户,没有管理员权限。
所以当我以管理员身份运行命令行的时候,cs文件就可以编译通过了,而且也可以执行exe文件。

PowerShell中也一样,以管理员身份运行就可以编译执行cs文件了。谢谢你!!!

我是去第十期的,现在技术分还差5分,所以也在凑技术分了,加油,希望能在10期见到你!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2