У меня есть приложение базы данных, которое ссылается на Entity Framework 4.1. В окне свойств проекта отключены параметры выбора Конфигурация и Платформа. Я не хочу нацеливать это приложение только на системы x64.
Также в том же решении есть несколько других проектов, и в качестве платформы для них доступен только вариант x86.
Я не понимаю, почему я не мог специально ориентироваться на системы x64. У меня на компьютере работает 64-разрядная версия Windows 7.
Любые подсказки, как ориентироваться конкретно на системы на базе x64. Все проекты ссылаются на .Net Framework 4.
Снимок экрана проекта, показывающий только вариант «Любой процессор».
Редактировать 1. Зачем нужно настраивать таргетинг на системы x64.
Собственно, разрабатываемые мной dll придется загружать в системы Autocad x64. Но когда я пытаюсь загрузить dll в Autocad, он отклоняет dll со следующей ошибкой
NETLOAD Cannot load assembly. Error details: System.BadImageFormatException:
Could not load file or assembly
'file:///D:\RailwayProjects\RelayAnalysis_New\RelayAnalysis_Autocad\bin\Debug\Gl
obalArea.dll' or one of its dependencies. An attempt was made to load a program
with an incorrect format.
File name:
'file:///D:\RailwayProjects\RelayAnalysis_New\RelayAnalysis_Autocad\bin\Debug\Gl
obalArea.dll'
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String
codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint,
StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean
forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName
assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile,
Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm
hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks,
StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
at loadmgd()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value
[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure
logging.
To turn this feature off, remove the registry value
[HKLM\Software\Microsoft\Fusion!EnableLog].
У меня есть сильное подозрение, что Autocad x64 отклоняет dll, потому что она не в формате x64, хотя я могу ошибаться здесь. Итак, теперь я расширяю сферу своего вопроса, чтобы включить AutoCAD, поскольку корень проблемы заключается в загрузке dll в autocad. Я поискал в Интернете и обнаружил, что AutoCAD очень требователен к типам x32 и x64. Собственная среда разработки AutoCAD.net для разработки подключаемых модулей Autocad также доступна отдельно для типов x32 и x64, и я не думаю, что подключаемые модули, разработанные с использованием x32, будут работать в версиях Autocad типа x64 и наоборот. наоборот. Итак, мне нужно уточнить целевую платформу для плагинов Autocad.