【发布时间】:2019-02-15 12:41:08
【问题描述】:
我有一个使用以下命令行编译的 code.cs 文件:
"%ProgramFiles(x86)%\MICROS~3\2017\ENTERP~1\MSBuild\15.0\Bin\Roslyn\csc.exe" ^
/target:library /out:fx1.dll fx1.cs ^
/reference:"C:\blah\blah\Microsoft.JScript.dll" ^
/reference:"C:\astor\loads\better\ease\zog.dll"
有没有一种实用的方法可以在 fx1.cs 文件中指定这些选项?
这主要是 C#,但其他 .Net 语言如 Vb.Net 和其他呢?是否至少有一种语言可以在自包含文件中指定编译器参数?
更新:我还看到有 csc 的应答文件,但它们缺乏(或者我看不到)足够的流控制来将一个嵌入到 cs 文件中。
【问题讨论】:
-
没有。通常,您使用一个项目(
.csproj),它有效地定义了这些选项(并将其与msbuild或dotnet结合使用)。还有一些系统可以创建 C#“脚本”(scriptcs 和其他),它们使用特殊的一次编译和运行您的 C# 文件的工具,并让您指定文件内的引用等内容。 -
为控制cmets定义语法,在文件开头的cmets中写入参数,提取并运行它们不会太难。
-
对于您的实用程序,您是否想象使用本地或网络文件系统以外的任何类型的存储库或电子邮件以外的任何传递机制?
-
您可能会认为 PowerShell 是一种满足您大部分要求的 .NET 语言。 Example 带有程序集参考。
-
@TomBlodget PowerShell可以编译成exe还是dll?
标签: c# windows msbuild roslyn csc