Веб-приложение, над которым я работаю, имеет три зависимости x86:
Я предпринял следующие действия на нашем промежуточном сервере и на моей локальной машине:
Веб-приложение теперь имеет 64-разрядную зависимость (Lync UCMA SDK), что привело к необходимости удаления 32-разрядных зависимостей. Проблема в том, что теперь я получаю следующее сообщение от IIS в браузере или из командной строки, если я пытаюсь вручную использовать aspnet_compile
:
Не удалось загрузить файл или файл сборки:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Временные файлы ASP.NET\root\6b69372f\fdfe0d46\App_GlobalResources.melxzfvs.dll 'или одна из его зависимостей, Была сделана попытка загрузить программу с неправильным форматом.
Я попытался выполнить следующие действия в своих попытках решить эту проблему:
aspnet_regiis -i
(64-разрядная версия) Просмотр DLL App_GlobalResources в таком инструменте, как Telerik JustDecompile, указывает, что dll скомпилирована специально для платформы x86, даже несмотря на то, что 64-разрядная версия aspnet_compile
явно запущена. Каждая другая сборка в папке bin - "Любой процессор".
Что я могу сделать для компиляции для x64?
Изменение: если я удалю папку App_GlobalResources, компилятор ASP.NET продолжает жаловаться, за исключением теперь о App_Code.dll. Та же проблема.
После некоторого утомительного параллельного сравнения файлов.csproj и Web.config я решил, что следующий раздел в файле web.config был виновником:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" compilerOptions="/unsafe /platform:x86" warningLevel="1">
<providerOption name="CompilerVersion" value="v4.0" />
<providerOption name="WarnAsError" value="false" />
</compiler>
</compilers>
</system.codedom>
После удаления этого раздела App_Code, App_GlobalResources и их родственники скомпилированы для "Любой процессор".
aspnet_regiis -u
затемaspnet_regiis -i
затемaspnet_regiis -c
. < msdn.microsoft.com/en-US/library/k6h9cz8h(v = vs.80 ) .aspx > Полагаю, стоит попробовать, возможно, попробовать свежий пул приложений.