Я пытаюсь скомпилировать фрагмент кода в Runtime с классом VBCodeProvider. Он отлично работает с одним исключением. Я не могу получить доступ к любым членам пространства имен System.Drawing . Я делаю «Imports System.Drawing» в начале кода, который делает скомпилирован без ошибок (так что я думаю, что ссылка там в порядке), но когда я попробую определить, например, графический объект с «Dim g as Графика "или" Dim g as System.Drawing.Graphics ". Я получаю исключение при компиляции: {[...] error BC30002: Der Typ "Graphics" ist nicht definiert. (The type Graphics is not defined)}
Компиляция времени выполнения, System.Drawing.Graphics не найден
Когда я пытаюсь добавить System.Drawing.dll к ссылочным сборкам CompilerOptions, тогда я получаю целую кучу других ошибки компиляции, поэтому я думаю, что это не решение. Я действительно не понимаю, почему эта проблема существует. Например, в том же коде я использую члены System.Math, которые работают.
У кого-нибудь есть идея или подсказка для меня, что я могу делать неправильно?
Заранее спасибо. Jens
редактировать из-за отсутствия репутации:
Спасибо за вашу помощь. Типичная вещь: вы пытаетесь найти более часа, а затем задаете здесь, а через 10 минут вы найдете решение самостоятельно:
Проблема была в том, как я ссылался на system.drawing.dll в компиляторах. Я использовал абсолютный путь «C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Drawing.dll», и это дало мне 19 исключений в некотором коде, я даже не написал .!
То, что работало в том, чтобы использовать относительный путь. например
PM.ReferencedAssemblies.Add («System.Drawing.dll»)
Я не знаю, что реальная разница, но, по крайней мере, это работает. :-)
Большое вам спасибо за помощь!
Вы можете показать код, в котором вы пытаетесь использовать «Графика» (отредактировать сообщение)? – Plutonix
Покажите другие ошибки, возникшие после добавления сборки System.Drawing. –
Другие сборки также имеют пространство имен System.Drawing, так что это ничего не значит. Конечно, вам нужно добавить ссылку, «целая куча ошибок», конечно же, необходима для диагностики проблемы с корнем. –