首页 > 解决方案 > 在 .net 命令行编译器中,当“out”选项中给出随机文件扩展名时会发生什么?

问题描述

当我将所有 cs 文件编译为单个程序集(例如 Single.dll)时的示例,但是当我将文件扩展名作为随机文本提及时,如下所述

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc -target:library -out:Single.abc *.cs

它不会抛出错误,而是创建一个文件为“Single.abc”

进行这种编译的目的是什么?

请参阅此处的示例:https ://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/command-line-building-with-csc-exe

标签: c#file-extensioncsc

解决方案


如果您要求 ,您将得到您会得到的东西Single.dll,除了Single.abc作为名称。您特别要求编译器执行此操作。编译器理解了您的要求并按照您的要求进行了操作。谁知道呢,也许您选择了一个.abc扩展程序,以便在您将其发送给其他人时不会被电子邮件客户端阻止。

编译器不只是放弃并打印错误消息,因为它没有理由这样做。这将需要编写额外的代码,以明确拒绝甚至不清楚这是错误的情况。


推荐阅读