Я получаю исключение FileNotFoundException для проекта приложения Windows Forms со следующим сообщением:
Could not load file or assembly 'System.Drawing, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
The system cannot find the file specified.
Чтобы воспроизвести проблему:
- ВыберитеНовый, Project, выберите .Net Framework 2.0 в качестве цели и выберите Windows Forms Application в качестве типа проекта.
- В свойствах формы, созданной по умолчанию, выберите значение для свойства Icon.Подойдет любой файл .ico.Этот файл будет встроен в файл resx.
- Скомпилируйте и запустите приложение.
Когда я сделаю это, программа остановится на строке this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
со следующим исключением:
System.IO.FileNotFoundException was unhandled
Message=Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
Source=mscorlib
FileName=System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Я получаю это в Visual Studio 2010 SP1, недавно установленной в Windows 8 Developer Preview.Если я изменю свойства проекта на целевой .Net Framework 4, ошибка исчезнет.
В файле Form1.resx я вижу, что версия сборки System.Drawing явно указана как 2.0:
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Есть идеи?