C# 为什么Visual Studio上的临时文件中仍引用旧项目名称

C# 为什么Visual Studio上的临时文件中仍引用旧项目名称,c#,asp.net,asp.net-mvc,visual-studio-2013,.net-4.5,C#,Asp.net,Asp.net Mvc,Visual Studio 2013,.net 4.5,我创建并完全烘焙了一个MVC内部网项目A。 然后,我创建了一个WebForms C#intranet项目,并对其进行了全面烘焙 现在,我需要将两者合并成一个组合MVC/WebForms C#PROJECT_C 我已经完成了这项工作,它似乎已经编译好了 但是。。。当我在VS2013 Ultimate中启动新的项目时,我在结果索引页上得到一个错误 CS0246:找不到类型或命名空间名称“PROJECT_A”(是否缺少using指令或程序集引用?) 在源错误部分中,这一行(显然)产生了错误: Lin

我创建并完全烘焙了一个MVC内部网项目A。 然后,我创建了一个WebForms C#intranet项目,并对其进行了全面烘焙

现在,我需要将两者合并成一个组合MVC/WebForms C#PROJECT_C

我已经完成了这项工作,它似乎已经编译好了


但是。。。当我在VS2013 Ultimate中启动新的项目时,我在结果索引页上得到一个错误

CS0246:找不到类型或命名空间名称“PROJECT_A”(是否缺少using指令或程序集引用?)

在源错误部分中,这一行(显然)产生了错误:

Line 1:    #pragma checksum "C:\...\PROJECT_C\Views\CONTROLLERNAME\Index.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "56225EBEFF70A747D10FB7D43A7A8EFCE86DAF72"
Line 2:    //------------------------------------------------------------------------------
Line 3:    // <auto-generated>
Line 4:    //     This code was generated by a tool.
Line 5:    //     Runtime Version:4.0.30319.34209
Line 6:    //
Line 7:    //     Changes to this file may cause incorrect behavior and will be lost if
Line 8:    //     the code is regenerated.
Line 9:    // </auto-generated>
Line 10:   //------------------------------------------------------------------------------
Line 11:   
Line 12:   namespace ASP {
Line 13:       using System;
Line 14:       using System.Collections.Generic;
Line 15:       using System.IO;
Line 16:       using System.Linq;
Line 17:       using System.Net;
Line 18:       using System.Web;
Line 19:       using System.Web.Helpers;
Line 20:       using System.Web.Security;
Line 21:       using System.Web.UI;
Line 22:       using System.Web.WebPages;
Line 23:       using System.Web.Mvc;
Line 24:       using System.Web.Mvc.Ajax;
Line 25:       using System.Web.Mvc.Html;
Line 26:       using System.Web.Optimization;
Line 27:       using System.Web.Routing;
Line 28:       using PROJECT_A; //error line...
Line 29:       
Line 30:       
Line 31:       public class _Page_Views_CONTROLLERNAME_Index_cshtml : System.Web.Mvc.WebViewPage<PROJECT_C.Models.Search> {
Line 32:           
Line 33:   #line hidden...
第1行:#pragma校验和“C:\…\PROJECT\u C\Views\CONTROLLERNAME\Index.cshtml”{ff1816ec-aa5e-4d10-87f7-6f496383460}“56225EBEFF70A747D10FB7D43A7A8EFCE86DAF72”
第2行://------------------------------------------------------------------------------
第3行://
第4行://此代码由工具生成。
第5行://运行时版本:4.0.30319.34209
第6行://
第7行://对此文件的更改可能会导致不正确的行为,如果
第8行://重新生成代码。
第9行://
第10行://------------------------------------------------------------------------------
第11行:
第12行:名称空间ASP{
第13行:使用系统;
第14行:使用System.Collections.Generic;
第15行:使用System.IO;
第16行:使用System.Linq;
第17行:使用System.Net;
第18行:使用System.Web;
第19行:使用System.Web.Helpers;
第20行:使用System.Web.Security;
第21行:使用System.Web.UI;
第22行:使用System.Web.Web页面;
第23行:使用System.Web.Mvc;
第24行:使用System.Web.Mvc.Ajax;
第25行:使用System.Web.Mvc.Html;
第26行:使用System.Web.Optimization;
第27行:使用System.Web.Routing;
第28行:使用项目_A;//错误行。。。
第29行:
第30行:
第31行:公共类\页面\视图\控制器名称\索引\ cshtml:System.Web.Mvc.WebViewPage{
第32行:
第33行:#隐藏的行。。。
我说“显然”是因为项目A已名存实亡。我只想把这个圆钉钉在项目C

假定产生错误的源文件如下所示:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\ASP.NET临时文件\root\14bee5fc\75cf6bf4\App\u Web\u index.cshtml.8117ffad.9pjm2azc.0.cs


为了解决这个问题,我做了以下工作:

  • 已清除%temp%文件
  • 已清除c:\Windows\Microsoft.NET\Framework\和c:\Windows\Microsoft.NET\Framework64中的临时文件\
  • 从代码中搜索并用项目C替换项目A的所有实例(以及项目B的实例)
  • 清洁项目/解决方案
  • 在web.config和其他地方检查名称空间
  • …更多我想不起来的
  • 错误仍然存在


    更新进度:

    我注意到与.net版本可能存在差异。我的目标版本是4.5.1。但是,我认为这可能只是临时目录名。您可以在上面粘贴的源代码中看到。这是我的web.config

    <compilation debug="true" targetFramework="4.5.1">
    
    
    
    我再次梳理了我的代码,寻找对旧项目和旧类的错误引用,但似乎找不到任何引用。我甚至查看了bin/中的config.dll。我正在寻找命名空间声明和用法

    目前,我从主项目中排除了PROJECT_B目录,只是为了保持它的整洁

    我真的不想重新开始一个新的MVC项目,因为我已经这样做了。但我可能不得不这样做


    我一直非常小心地尽可能多地提供信息。如果我遗漏了什么,请告诉我


    非常感谢您的帮助!这是我的第二天!

    使用“在文件中查找”来查找旧项目的名称空间

    很可能webforms designer文件的名称空间不好,您应该用find/replace修复它们


    另一个罪魁祸首可能是名称空间配置和类似配置中的web.config。

    另一个要检查的区域是位于“视图”文件夹下的web.config文件,如果Visual Studio将其排除在外,则“查找/替换”可能找不到它


    也在那里更改

    你有没有在.sln和.csproj文件中查找旧的引用?我自己也有一些问题,VS忘记删除那里的引用。它也无法在VS中使用搜索找到它,因为文件正在使用。

    你能从
    App_Web_index.cshtml.8117ffad.9pjm中发布更多信息吗2azc.0.cs
    ?@JimNowak您是否尝试过创建一个新视图并将视图内容粘贴到其中并删除现有视图?为什么现在在类中使用名称空间项目?无论您在何处使用该类之王,请使用project_c更改这些名称空间或检查webconfig中的程序集引用可能是某些文件仍以旧url或共享为目标你的代码。看看这个……谢谢,那是我的藏身之处。这也是我的案子。谢谢。在谷歌搜索了一个小时后找到的。它在那里几个月没有出现问题。我几乎每天都清理和重建这个项目。但是,在卸载、安装/升级一些nuget软件包之后,问题出现了。