将Sitefinity 6.3(Windows Azure Webproject)升级到Sitefinity 7.0后出现问题

将Sitefinity 6.3(Windows Azure Webproject)升级到Sitefinity 7.0后出现问题,azure,upgrade,sitefinity,azure-sdk-.net,Azure,Upgrade,Sitefinity,Azure Sdk .net,我有一个在SiteFinity6.3中开发的网站,它部署在WindowsAzure上(部署在云服务中的网站)。现在,我已经将项目升级到SiteFinity7.0,正如他们在网站上提到的那样 Project升级成功,我按照步骤删除和添加引用,但随后我运行了该项目&它显示了以下错误: 'Microsoft.WindowsAzure.ServiceRuntime,版本=1.8.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35' 然后我安装了Azure SDK 2.2

我有一个在SiteFinity6.3中开发的网站,它部署在WindowsAzure上(部署在云服务中的网站)。现在,我已经将项目升级到SiteFinity7.0,正如他们在网站上提到的那样

Project升级成功,我按照步骤删除和添加引用,但随后我运行了该项目&它显示了以下错误: 'Microsoft.WindowsAzure.ServiceRuntime,版本=1.8.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35' 然后我安装了Azure SDK 2.2版,然后显示以下错误:
我尝试在web.config中设置以下标记:


我在本地运行该项目时遇到了类似的问题。它试图加载该dll的64位版本(msshrtmi.dll)

Azure需要64位版本的.dll,但您需要在本地运行时使用32位版本,或者需要在IIS中使用64位应用程序池设置站点,以便能够在本地进行测试

我想出了一个小办法让它在我们的azure网站上运行,但它在升级到SiteFinity7前后都能正常工作,所以它可能会帮助你

我将64位和32位msshrtmi.dll文件复制到一个名为References的文件夹中,该文件夹与.sln文件位于同一目录中。然后我编写了一个quick.bat文件,并将其添加为通过当前构建概要文件的项目的构建后任务

注意:我有一个名为“Azure”的构建配置文件,用于更新一些其他设置,而不是使用Thunder。Azure构建概要文件基本上只是发布版本的副本,但我也喜欢在本地测试发布版本

构建任务如下所示

call $(SolutionDir)References\AZURE.bat $(ConfigurationName) $(SolutionDir)
If %1 == Azure echo "Copying 64bit version of msshrtmi.dll"
If %1 == Azure  copy %2\References\64\msshrtmi.dll %2\YourProject\Bin\msshrtmi.dll
If NOT %1 == Azure echo "Copying 32bit version of msshrtmi.dll"
If NOT %1 == Azure  copy %2\References\32\msshrtmi.dll %2\YourProject\Bin\msshrtmi.dll
AZURE.bat文件如下所示

call $(SolutionDir)References\AZURE.bat $(ConfigurationName) $(SolutionDir)
If %1 == Azure echo "Copying 64bit version of msshrtmi.dll"
If %1 == Azure  copy %2\References\64\msshrtmi.dll %2\YourProject\Bin\msshrtmi.dll
If NOT %1 == Azure echo "Copying 32bit version of msshrtmi.dll"
If NOT %1 == Azure  copy %2\References\32\msshrtmi.dll %2\YourProject\Bin\msshrtmi.dll

嗨,谢谢你的重要信息分享。请。请看我的帖子。@user1400290如果我不得不猜测的话,我会说您在所有这些过程中的某个时候将正确版本的.dll复制到了bin目录中。当你部署到Azure时,它是否仍然有效?或者你是否再次获得BadImageFormatException?这也是我最合适的理由,我将在稍后的某个时间点将其上载到Azure。谢谢
<bindingRedirect oldVersion="0.0.0.0-2.5.0.0" newVersion="2.2.0.0"/>
call $(SolutionDir)References\AZURE.bat $(ConfigurationName) $(SolutionDir)
If %1 == Azure echo "Copying 64bit version of msshrtmi.dll"
If %1 == Azure  copy %2\References\64\msshrtmi.dll %2\YourProject\Bin\msshrtmi.dll
If NOT %1 == Azure echo "Copying 32bit version of msshrtmi.dll"
If NOT %1 == Azure  copy %2\References\32\msshrtmi.dll %2\YourProject\Bin\msshrtmi.dll