2011-05-05 50 views
1

好吧,这让我难堪。通过WebResource.axd链接访问的嵌入式资源在生产环境中不起作用

我有几个在VB.NET .NET 4项目中定义的服务器控件,我们称之为WebControls,以便与解决方案中的其他项目共享。 WebControls使用嵌入式资源(图像),因此我不必记住在引用控件的每个项目中都包含图像。我使用Page.ClientScript.GetWebResourceUrl在服务器控件中设置图像ImageUrl属性。

这在我的应用程序X中使用我的开发服务器上的WebControls的控件时可以正常工作。但是,当我将其推到生产环境时,表示为嵌入式资源的图像不显示。

我的生产服务器运行IIS 7.0。我知道禁用压缩不会影响任何内容,并且适用于web资源.axd文件的IIS处理程序。

更奇怪的是,我在同一个生产服务器上有这个应用程序的副本(当然命名不同),一切工作正常,但在X中没有问题。应用程序池使用.NET 4集成并且不会在经典模式下工作。

有什么建议吗?

回答

0

想通了。很奇怪。我以调试模式重建了WebControls类和其他应用程序,并将这些.dlls推送到我的生产服务器,并且一切正常。然后,我在发布模式下重建,并再次将.dlls推到生产中,替换了debug .dlls,并且再次运行正常。似乎是VS 2010中的一个问题,当我清理并重建我的应用程序以进行发布时,未正确清除dll。