这个问题看起来很奇怪,但奇怪的问题通常需要奇怪的解决方案。
我在使用 Windows Azure 和 SignalR 时遇到问题。正如我在这里所描述的,没有找到程序集System.EnterpriseServices.Wrapper.dll
,我的应用程序不时崩溃。
我无法明确添加对System.EnterpriseServices.Wrapper.dll
. Visual Studio 不会让我这样做。这个 DLL 有一些不同之处。但是,当我把这个 DLL 放在 web 应用程序 bin 文件夹中时,我不会有任何问题 :)。一切正常。
所以我有了一个想法。我将把System.EnterpriseServices.Wrapper.dll
我的 Web 应用程序作为资源放入并设置Copy to Output Directory
为 true。这样,我将在 bin 文件夹中有一个 DLL,而无需对其进行引用。
我描述的这种情况在模拟器中完美运行,但我不能再将我的应用程序发布到 Azure。
Error 30 The "ProvideAssemblyProcessorArchitecture" task failed unexpectedly.
System.BadImageFormatException: The module was expected to contain an assembly manifest. (Exception from HRESULT: 0x80131018)
Azure 似乎会在发布之前对程序集进行预处理。在此过程中,它将引发错误。
有什么办法可以把这个程序集放在我的 web 应用程序的 bin 文件夹中?