Member 12942460 Ответов: 2

Приложение C# windows


Error	5	File 'log4net.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'	E:\JavedBakup\Qlait30Dec2016\QlaitV1.9\QlaitV1.9.vdproj	QlaitV1.9


Что я уже пробовал:

Вопрос, Связанный С Настройкой



<pre>Error	5	File 'log4net.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'	E:\JavedBakup\Qlait30Dec2016\QlaitV1.9\QlaitV1.9.vdproj	QlaitV1.9

Wessel Beulink

Запустите его x64 вместо x86.

ZurdoDev

И исправь свой титул.

CHill60

В чем твоя проблема? Целевая платформа проекта - "x86". log4net.dll цели "АМ64". Когда происходит эта ошибка? Это внезапное изменение (то есть оно работало раньше, ничего не изменилось, но вдруг перестает работать)?
Это из программы установки - это то, что вы подразумеваете под " вопросом, связанным с настройкой"

[no name]

"Вопрос, связанный с настройкой", где? Здесь вообще нет никаких вопросов.

2 Ответов

Рейтинг:
2

OriginalGriff

Когда вы создаете приложение для X86, вы создаете его для 32-битной среды - и хотя вы можете запустить 32-битное приложение в 64-битной среде, вы не можете "смешать" их.
Сборка Log4Net, на которую вы ссылаетесь, представляет собой 64 - битный файл: она была построена для x64, а не для x86, и вы не можете получить доступ к 64-битному коду из 32-битного приложения, потому что весь код поддержки (например, система выделения памяти) загружен для исходного 32-битного приложения.

Вы можете изменить свойства сборки, чтобы построить ее для x64:
Откройте свое решение в VS.
Откройте панель Обозреватель решений
Откройте ветку проекта, а затем дважды щелкните на "свойствах".
На появившейся странице выберите вкладку " Build "слева и измените" Platform target "на"x64".

Сохраните страницу и перестройте свое приложение.


Рейтинг:
2

Dave Kreskowiak

У вас есть проект log4net, который строится как 64-битная библиотека DLL. Вы не можете использовать эту библиотеку в 32-битном проекте (x86).

Либо получите 32-разрядную версию log4net, либо измените свойства проекта на целевую 64-разрядную (x64). Имейте в виду, что таргетинг только на 64-битную версию не позволит вашему коду работать на 32-битной Windows.