в компиляторе командной строки .net, что происходит, когда произвольное расширение файла задается в опции «out»? - PullRequest
0 голосов
/ 28 апреля 2018

Пример, когда я собираю все файлы cs в одну сборку (скажем, Single.dll), но когда я упоминаю расширение файла как случайный текст, как упомянуто ниже

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ csc -target: библиотека -out: Single.abc * .cs

Не выдает ошибку, а создает файл как "Single.abc"

Какова цель создания такого рода компиляции?

См. Пример здесь: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/command-line-building-with-csc-exe

1 Ответ

0 голосов
/ 28 апреля 2018

Вы получите то, что получили бы, если бы попросили Single.dll, за исключением того, что Single.abc в качестве имени. Вы специально попросили компилятор сделать это. Компилятор понял ваш запрос и сделал то, что вы просили. Кто знает, возможно, вы выбрали расширение .abc, чтобы почтовый клиент не блокировал его при отправке кому-то еще.

Компилятор не просто сдается и печатает сообщение об ошибке, потому что нет причины, по которой он должен это делать. Это потребовало бы написания дополнительного кода для явной цели отклонения случая, когда даже не ясно, что это ошибка.

...