c # изменить структуру ошибки - PullRequest
5 голосов
/ 13 мая 2011

Я использую Visual Studio 2010. Я просто изменяю каркас своего проекта с 4.0 на 3.5. Я удалил ссылку Microsoft.Framework, которую он попросил удалить, затем попытался скомпилировать. Теперь я получаю ошибку:

Ошибка 1 Не удалось загрузить файл или сборка 'Система. Рисование, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'или одна из его зависимостей. Система не могу найти указанный файл. Линия 123, позиция 5. C: \ Users \\ Documents \ Visual Studio 2010 \ Проекты \\\ Properties \ Resources.resx 123 5

Я знаю, что это относится к коду в моем файле resources.resx:

<resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <data name="pix-300x300" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\pix-300x300.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="pix2" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\pix2.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="pix4" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\pix4.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="pix3" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\pix3.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>

Как бы я исправил это сейчас, когда мой фреймворк 3.5?

Ответы [ 4 ]

4 голосов
/ 13 мая 2011

Вы можете попытаться восстановить файл, щелкнув правой кнопкой мыши файл .resx и выбрав «Запустить пользовательский инструмент» в контекстном меню.

Редактировать: перед этим измените модификатор доступа или добавьте новое значение, чтобы вызвать регенерацию.

Другое редактирование: см. Понизьте версию приложения с .net 4.0 до 3.5 для другой возможности

3 голосов
/ 13 мая 2011

Я столкнулся с Ошибка Visual Studio , которая вызвала у меня похожую проблему. Я использовал этот обходной путь, чтобы решить его:

Исправление, которое СЛЕДУЕТ работать вручную изменить один символ в поток изображений КАЖДЫЙ РАЗ Пользовательский контроль или форма редактируется в дизайнер

<data name="icons_20.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
    <value>
     AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w

Изменить на

     AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w

То есть 00LjAuMC4w обратно к 0yLjAuMC4w в конце строки (00 вернуться к 0y)

Но я должен исправить это каждый раз, когда я что-то изменяю в этой форме.

2 голосов
/ 13 мая 2011

Не уверен насчет этого, но поскольку другие ответы не помогли, попробуйте это. Version=4.0.0.0 в вашем файле говорит компилятору использовать сборки .net 4.0. Попробуйте изменить их на Version=3.5.0.0 или Version=2.0.0.0 и посмотрите, решит ли это это.

0 голосов
/ 27 января 2012

Имея эту проблему в течение долгого времени, я потерял надежду, что Microsoft исправит эту ошибку когда-либо.Затем я начинаю использовать написанный вручную код для обработки изображений, содержащихся в ресурсах:

string resource = "Company.Namespace.Resources.picture.gif";
pictureBox1.Image = new Bitmap(Assembly.GetExecutingAssembly()
.GetManifestResourceStream(resource));

Не забудьте установить свойство "Построить действие" picture.gif на "Embeded ресурс"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...