ASP.NET网站无法重建

时间:2020-03-05 18:58:32  来源:igfitidea点击:

我有一个在Visual 2008中有多个项目的解决方案,比如说具有Webhandler GetSuggestions.ashx的SuggestationProcessor(一个类库)和Recommendations(一个网站)。我更改了在Webhandler中使用的uggestinationProcessor中的方法。 Web处理程序中的调用已调整为更改的方法。

但是现在当我尝试在重建后执行webhandler时,我得到一个错误,即我更改的方法丢失了,显示了旧的方法签名。当我尝试重建整个项目时,似乎网站无法正确重建,并且在webhandler中更改的代码似乎未包含在重建中。我确保网站在构建顺序中排在最后。

我试过的是从bin文件夹中删除构建过程应重建的dll(而不是从网站外部引用的dll)。重建时,我现在得到:"无法加载类型uggestinations.global"。嗯,这就是构建过程应该创建的。这是怎么了?

解决方案

回答

我会检查web.config文件,那里可能有导致错误的引用,因为它们丢失了。

回答

也许尝试并右键单击解决方案,然后选择"清理解决方案",然后尝试重新构建所有解决方案。

如果那行不通,请检查解决方案构建配置,并确保所有项目都已构建

回答

尝试"清理解决方案",然后构建RecommendationionProcessor,然后清理并重建Web解决方案。

回答

Visual Studio创建所有DLL的副本,有时不会刷新此副本。
只需执行iisreset并删除以下目录中的所有文件夹:

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
  ASP.NET Files\

当然,将Windows安装文件夹和Framework文件夹更改为版本!

回答

我通过恢复到以前的状态来解决了这个问题。

感谢建议,很抱歉,在我的情况下,它们不起作用。

我现在应该删除这个问题,因为它实际上并没有明确地用于其他人?

回答

我不这么认为...在Visual Studio 2008中,我在Web项目上遇到过类似的问题,在这些项目中,构建和重建会一次次失败。我知道我的更改不应该影响构建,所以我一直在清理并构建解决方案中的每个项目,直到最终(我的意思是说最终要花10个构建)我的Web项目才可以构建正确地。我不知道为什么,但是感觉像是某种缓存问题。

回答

从我的回答"无法加载类型[名称空间] .Global"中,我感到悲伤:

It seems that VS 2008 does not always add the .asax(.cs) files correctly by default.

在这种情况下,刷新,重建,删除和重新添加等将无法解决问题。反而:

Check the Build Action of Global.asax.cs. It should be set to Compile.
  
  In Solution Explorer, Right-click Global.asax.cs and go to Properties. In the Properties pane, set the Build Action (while not debugging).