问题标签 [csc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1301 浏览

compiler-construction - 如何使用 fsc.exe (F#) 或 csc.exe (C#) 包含 app.config 文件?

我有一个使用 app.config 文件的控制台应用程序,但是我不知道如何将其包含在命令行参数中,以便当我使用 fsc.exe 以编程方式编译它时,输出将创建 Program.exe.config。现在我的解决方法是将 app.config 重命名为 Program.exe.config 并将其复制到与 Program.exe 相同的输出位置。我需要的是 fsc.exe 命令行参数来执行此操作,但是我怀疑 csc.exe 的功能与 fsc.exe 的功能相同或非常接近,所以如果您知道 csc.exe 中的内容,我会试试看。

鲍勃

0 投票
2 回答
2117 浏览

c# - App.config 和 csc.exe

我创建了一些 C# 控制台程序来测试我在 MSSQL 数据库中的存储过程。我将连接字符串存储到 app.config 中的数据库。项目中的每个类都引用了连接字符串,但它们都有一个 main 方法,所以我编写了这个脚本来进行编译:

我收到此错误:

CS0103 “当前上下文中不存在名称‘属性’。”

我需要通过编译器吗?

0 投票
1 回答
492 浏览

build - 在子目录中使用 nant 和参考库进行构建

我正在为一个项目创建 bild 文件,该项目包含位于 lib 文件夹中的几个 3rd 方库。所以我的构建脚本看起来像这样:

编译运行良好,但是运行时不起作用,说找不到库 Should.Fluent.dll。我怎样才能让程序找到它?

0 投票
9 回答
100785 浏览

c# - 如何获取 csc.exe 路径?

有没有办法获取最新的 .NET Framework 的 csc.exe 的路径?

该文件通常位于:c:\Windows\Microsoft.NET\Framework\vX.X.XXX 但问题是可以安装多个版本 + 有 32 位和 64 位版本。

有什么解决办法吗?

0 投票
1 回答
1627 浏览

c# - XmlSerializer 使用 CSC.EXE 反序列化错误

我创建了一个在我的计算机上运行良好的程序,通常也可以在其他计算机上运行。但是有一个人在运行它时遇到问题,我真的不明白为什么,Stacktrace 是:

System.Runtime.InteropServices.ExternalException (0x80004005): 不可能 eseguire un programma。Il comando 在 esecuzione 时代 "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\c sc.exe" /noconfig /fullpaths @"C:\Users\Andry\AppData\Local\Temp\dot0eqxi.cmdline" . ---> System.ComponentModel.Win32Exception (0x80004005): System.CodeDom.Compiler.Executor.ExecWaitWithCaptu reUnimpersonated 中的未知错误 (0x36b1) (SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine ) 在 Microsoft.CSharp 中的 System.CodeDom.Compiler.Executor.ExecWaitWithCaptu re(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine) 中。

如您所见,问题与反序列化有关(该对象仅被反序列化)并且它发生在 XmlSerializer 构造函数中。

这个问题可能在某种程度上与这个问题有关:为什么我的 Windows 服务会启动 csc.exe 的实例?为什么我的 Windows 服务会启动 csc.exe 实例

我显然无法复制该错误。这是涉及的代码:

程序.cs

RangeCollection.cs

ValidIconImageIndices.xml(涉及 XML 文件)

我不知道用户的操作系统,但我认为它是 Windows 7 家庭 64 位。他有 .NET 4.0,该应用程序是 .net 4.0 的 Winforms 应用程序

如果您想测试它,请链接到应用程序:http: //dl.dropbox.com/u/762638/Files/Documents/My%20Programs/SpellCaster3/SpellCaster3.zip

与安装程序的链接:http: //dl.dropbox.com/u/762638/Files/Documents/My%20Programs/SpellCaster3/setup.zip

0 投票
2 回答
1600 浏览

c# - 如何使用 csc(C# 编译器)或 dmcs(单 C# 编译器)生成 IL 源代码?

gcc 有一个 -s 选项来生成汇编源代码。csc(MS C# 编译器)或 dmcs(单 C# 编译器)是否具有等价性?我的意思是那些编译器是否提供了一个选项来生成可以读取而不是执行二进制文件的 IL 源代码?

0 投票
5 回答
10725 浏览

c# - 为什么将 C# 代码编译成 IL 时会创建 .ctor()?

使用这个简单的 C# 代码,我运行csc hello.cs; ildasm /out=hello.txt hello.exe.

这是来自 ildasm 的 IL 代码。

代码有什么用.method public instance void .ctor()?它似乎没有做任何事情。

0 投票
2 回答
708 浏览

c# - 找到 C# 编译器路径的“正确”方法?

可能重复:
C# - 如何获取 csc.exe 路径?

是否有一种“正确”的方法可以在给定系统上找到 C# 编译器的路径?

例如对于 Java,“正确”的方式是使用HKLM\Software\JavaSoft注册表项来遍历所有不同的 JDK 及其位置,而不是假设所有内容都在%ProgramFiles%\Java.

C#有类似的方法吗?

0 投票
2 回答
2053 浏览

msbuild - NANT CSC 构建失败:缺少参考?

我有以下用于构建 winexe 的 NANT CSC 目标:

以下是失败信息:

在 myClass.cs 中,我有这个使用参考:

在 VS 中构建我的应用程序没有问题,但我无法从 NANT 构建。我认为我可能会错过 NANT 构建中对 Microsoft.ReportViewer.WinForms.dll 的引用。不确定如何将这个 dll 包含在 NANT 的 bin 中?

我试图修改 csc 目标的引用:

还是行不通。我应该使用 COPY 目标将所有 dll 文件从 bin 复制到 $(build.dir) 吗?

更新:我发现项目引用中的那些 Microsoft.ReportViewer.xx.dll 文件没有复制到本地。如何在 NANT 中为这两个 dll 文件模拟复制到本地?我想这可能会解决这个问题,因为 NANT 是控制台中的构建应用程序,并且不了解全局缓存中的引用。

0 投票
0 回答
3093 浏览

c# - C# 外部别名

我有两个具有完全相同接口的程序集(我们称它们为 Assem1 和 Assem2)

是否可以使用外部别名从 Assem2 调用 Assem1 的方法?

源代码是这样的:

编辑:根据要求 - 我正在添加有关一般任务的额外信息:

我需要测试使用 ActiveX.exe 从外部服务获取数据(响应)的应用程序。我的任务是替换此 ActiveX.exe,以便控制响应。由于响应是大型文本数据,我将使用原始 ActiveX.exe 文件生成请求。

新程序集(我的问题中的 Assem1)必须具有与原始 ActiveX.exe(Assem2)完全相同的界面。总体思路:Assem1 从被测应用程序中获取请求。如果请求与其数据源中的响应匹配 --> 它读取响应并将其返回给应用程序。如果它不匹配任何响应,则 Assem1 向 Assem2 请求响应,将其添加到其数据源并响应测试应用程序。

如前所述,两者必须具有完全相同的接口,因此我使用 extern 别名来引用原始 ActiveX.exe。互联网上所有使用 C# 中的外部别名的示例都指定一个程序集,指的是具有相同接口的两个程序集,但不是从一个到彼此。