However, when I attempt to deploy this assembly to another machine for testing (a SQL Server 2012 install) , this code:
ReportExecutionServiceexecutionService
= newExecutionService.ReportExecutionService();
fails with the following error:
System.Runtime.InteropServices.COMException (0x8000FFFF): Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
at System.Security.Policy.PEFileEvidenceFactory.GetLocationEvidence(SafePEFileHandle peFile, SecurityZone& zone, StringHandleOnStack retUrl)
at System.Security.Policy.PEFileEvidenceFactory.GenerateLocationEvidence()
at System.Security.Policy.PEFileEvidenceFactory.GenerateEvidence(Type evidenceType)
at System.Security.Policy.AssemblyEvidenceFactory.GenerateEvidence(Type evidenceType)
at System.Security.Policy.Evidence.GenerateHostEvidence(Type type, Boolean hostCanGenerate)
at System.Security.Policy.Evidence.GetHostEvidenceNoLock(Type type)
at System.Security.Policy.Evidence.GetHostEvidence(Type type, Boolean markDelayEvaluatedEvidenceUsed)
at System.Security.Policy.AppDomainEvidenceFactory.GenerateEvidence(Type evidenceType)
at System.Security.Policy.Evidence.GenerateHostEvidence(Type type, Boolean hostCanGenerate)
at System.Security.Policy.Evidence.GetHostEvidenceNoLock(Type type)
at System.Security.Policy.Evidence.RawEvidenceEnumerator.MoveNext()
at System.Security.Policy.Evidence.EvidenceEnumerator.MoveNext()
at System.Configuration.ClientConfigPaths.GetEvidenceInfo(AppDomain appDomain, String exePath, String& typeName)
at System.Configuration.ClientConfigPaths.GetTypeAndHashSuffix(AppDomain appDomain, String exePath)
at System.Configuration.ClientConfigPaths..ctor(String exePath, Boolean includeUserConfig)
at System.Configuration.ClientConfigPaths.GetPaths(String exePath, Boolean includeUserConfig)
at System.Configuration.Internal.ConfigurationManagerInternal.System.Configuration.Internal.IConfigurationManagerInternal.get_ExeProductName()
at System.Configuration.ApplicationSettingsBase.get_Initializer()
at System.Configuration.ApplicationSettingsBase.CreateSetting(PropertyInfo propInfo)
at System.Configuration.ApplicationSettingsBase.EnsureInitialized()
at System.Configuration.ApplicationSettingsBase.get_Properties()
at System.Configuration.SettingsBase.GetPropertyValueByName(String propertyName)
at System.Configuration.SettingsBase.get_Item(String propertyName)
at System.Configuration.ApplicationSettingsBase.GetPropertyValue(String propertyName)
at System.Configuration.ApplicationSettingsBase.get_Item(String propertyName)
Interestingly, if I attempt to call it again immediately, I get the following error instead:
System.Configuration.SettingsPropertyNotFoundException: The settings property 'MyAssembly_ExecutionService_ReportExecutionService' was not found.
I've tried the following things:
- checked the settings.settings file, the app.config, and the web reference file and confirmed that the setting is referred to as MyAssembly_ExecutionService_ReportExecutionService
- Dropped and recreated the web service reference, changing the name to something else (MyAssembly2): the references are all updated but the error recurs as unable to find 'MyAssembly2_ExecutionService_ReportExecutionService'
- Installed VS on the other machine and rebuilt the solution from scratch (same errors)
- Ensured the execution service is running: I can access it through the browser and verified it is running through the SSRS config manager
- restarted the service
- rebooted the server
- Looked online for issues related to SQL 2012 (though hopefully #3 would have addressed any such issues) and didn't find anything.
There is nothing showing up in logging for SQL or in the Event Viewer. I suspect that the first error is really the issue and the SettingsPropertyNotFound exception is just a symptom, but I am completely out of ideas as to why at this point.
Any help would be appreciated.