问题
We have a WCF service that interacts with TFS 2010, we are planning to migrate to TFS 2012 so we installed a server to test it, the server have the following installed:
Windows Server 2012
SQL Server 2012
SharePoint 2013
TFS 2012
I created a site for my service and tried to running, i was greeted with the following message:
Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader' or one of its dependencies. An attempt was made to load a program with an incorrect format.
So I changed the pool to 32bit, but then I was greeted with this:
The Module DLL 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\isapi\spnativerequestmodule.dll' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture.
And know I'm stuck I googled for that DLL but did not find anything, I created a new site with a vanilla HTML page and only loads on 64 bit pool.
I checked the sites created by TFS and SharePoint on the server and all are 64bit.
My best guess is that it has something to do with SharePoint 2013 but I'm not sure.
Any ideas on how to make the sites run on a 32bit pool?
Thanks
回答1:
Running 32bit and 64bit side by side is supported in IIS7 as it's now configured per AppPool.
However, although I'm not sure if it's a supported configuration in SharePoint 2013 there's a fix for this error.
You can set that SharePoint module to only run in 64bit processes using this command:
appcmd.exe set config -section:system.webServer/globalModules /[name='SPNativeRequestModule'].preCondition:integratedMode,bitness64
see this site for the details.
回答2:
Change it to a 64bit mode app pool, but allow it to load 32bit dlls.
http://help.webcontrolcenter.com/KB/a1114/how-to-enable-32-bit-application-pool-iis-7-dedicatedvps.aspx
回答3:
In my case, I initially enabled 32-bit applications to True and that's when all the issues started. To fix, I ran below in the command prompt - did IISReset/noforce and finally rebooted the machine. I was able to start it back only after rebooting the machine.
appcmd.exe set config -section:system.webServer/globalModules /[name='SPNativeRequestModule'].preCondition:integratedMode,bitness64
Note: I'm using Windows 2008 R2 and Sharepoint 2013. Other references suggested to disable Rapid-Fail-Protection but it didn't make sense to me.
来源:https://stackoverflow.com/questions/12287423/cant-load-a-site-in-iis8-on-32bit-pool-winsrv-2012-and-sharepoint-2013