Я перенес файл решения C # из VS 2005 в VS 2010 и на новый компьютер. Одна проблема, с которой я столкнулся, заключается в том, что исходная версия файла ресурсов смешивалась PublicKeyToken
и internalKeyToken
примерно так:
<data name="NAME" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>PATH;System.Drawing.Bitmap, System.Drawing,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
и
<data name="NAME" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>PATH;System.Drawing.Bitmap, System.Drawing,
Version=2.0.0.0, Culture=neutral, internalKeyToken=b03f5f7f11d50a3a</value>
</data>
Этот файл был сгенерирован Visual Studio 2005 с помощью конструктора, хотя я редактирую его вручную, чтобы изменить экземпляры с internalKeyToken
на PublicKeyToken
. В противном случае выдается ошибка компилятора:
Error 19 Could not load file or assembly 'System.Drawing,
Version=2.0.0.0, Culture=neutral' or one of its dependencies.
The system cannot find the file specified. Line 225, position 5.
Итак, мне интересно:
- Почему Visual Studio 2005 несколько произвольно переключался между internalKeyToken и PublicKeyToken? Все файлы в одном формате.
- Почему это работало раньше, но теперь выдает ошибку «Не удалось загрузить файл»? Что изменилось?