Цитата Сообщение от red75prime Посмотреть сообщение
Когда я запускал сервер у себя, он при первом запуске компилировал скрипт и клал дллку в C:\Users\red75\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\cache\0.dll. После этого на изменения в .cs файле не реагировал никак. Приходилось удалять эту "0.dll".
[...]
Перепроверил конкретно для миссии StbVolcanicIslands2. К ней сказанное не относится - она компилируется в "5099688294344549696.dll" (цифры - видимо хеш текста скрипта) и ил-2 реагирует на изменения в исходном тексте StbVolcanicIslands2.cs.


В общем-то, инструкция using ничего не референсит - она позволяет использовать имена классов без указанного namespace prefix. А какие dll доступны скрипту определяет компилятор, который в этом случае вызывается изнутри ила. Так что сделать using System.Windows - недостаточно, нужно ещё чтобы во время компиляции System.Windows.Forms.dll была включена в список референсов.
Хм.. Я специально включил в скрипт строку, которая просто создавала файл со случайным именем, так что уникальность каждого запуска я вполне мог проверить. По поводу референсов - а как тогда быть со сборками, которые линкуются динамически? Например, хост понятия никакого может не иметь, что эта dll юзает, а юзать она может еще целую пачку левых сборок. Никаких референсов у хоста на них нет, и он ничего о них не знает. А System.Windows.Forms.dll стандартная библиотека и .NET всегда в курсе, где она лежит. Почему например, я вполне могу использовать LINQ и т.д. и т.п. Они тоже включены в референсы приложения?