2015-12-03 11 views
8

Tôi đã tạo và nướng hoàn toàn một mạng nội bộ MVC C# PROJECT_A. Sau đó, tôi đã tạo và hoàn toàn nướng một WebForms C# intranet PROJECT_B.Tại sao tên dự án cũ vẫn được tham chiếu trong các tệp tạm thời trên Visual Studio

Bây giờ tôi cần hợp nhất hai thành một combo MVC/WebForms C# PROJECT_C.

Tôi đã thực hiện việc này và dường như biên dịch.


NHƯNG ... khi tôi cháy lên mới PROJECT_C bên trong VS2013 Cuối cùng, tôi nhận được một lỗi trên trang index kết quả ...

CS0246: The type or namespace name 'PROJECT_A' could not be found (are you missing a using directive or an assembly reference?)

Trong phần Lỗi nguồn là dòng này (rõ ràng) tạo ra lỗi:

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... 

Tôi nói "rõ ràng" vì PROJECT_A không còn tồn tại trong tên. Chỉ có PROJECT_C mà tôi đang cố gắng đóng cọc này vào!

Nguồn tập tin đó được cho là sản xuất các lỗi được liệt kê như:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\14bee5fc\75cf6bf4\App_Web_index.cshtml.8117ffad.9pjm2azc.0.cs


Trong một nỗ lực để sửa lỗi này tôi đã thực hiện như sau:

  1. dọn dẹp% temp% files
  2. Các tệp tạm thời đã xóa khỏi cả c: \ Windows \ Microsoft.NET \ Framework \ và c: \ Windows \ Microsoft.NET \ Framework64 \
  3. được tìm kiếm và thay thế tất cả các trường hợp của PROJECT_A (và các trường hợp PROJECT_B) với PROJECT_C từ bên trong mã
  4. sạch dự án/Giải pháp
  5. namespace Checked trong web.config và các nơi khác
  6. ... Tôi không thể nghĩ nhiều hơn về

Lỗi này vẫn tiếp diễn.


tiến bộ Cập nhật:

tôi đã nhận thấy một sự khác biệt có thể với phiên bản .net. Phiên bản đích của tôi là 4.5.1. Tuy nhiên, tôi nghĩ rằng có thể chỉ trong tên thư mục tạm thời. Bạn có thể thấy nó trong mã nguồn được dán ở trên. Đây là từ trang web của tôi.config

<compilation debug="true" targetFramework="4.5.1"> 

Tôi, một lần nữa, chải kỹ mã của tôi tìm kiếm các tham chiếu không đúng với dự án cũ và các lớp cũ và dường như không tìm thấy bất kỳ thứ gì. Tôi thậm chí đã xem qua config.dll s trong bin /. Tôi đang tìm kiếm các khai báo không gian tên và cách sử dụng.

Hiện tại tôi đã loại trừ thư mục PROJECT_B khỏi dự án chính chỉ để giữ cho nó sạch sẽ.

Tôi thực sự không muốn phải bắt đầu mới với dự án MVC mới như tôi đã làm điều đó. Nhưng tôi có thể phải làm vậy.


Tôi đã rất cẩn thận để bao gồm nhiều thông tin nhất có thể. Hãy cho tôi biết nếu tôi bỏ lỡ bất cứ điều gì.

Cảm ơn bạn rất nhiều vì đã giúp đỡ! Tôi đang ở ngày thứ hai về điều này!

+0

lý do tại sao không gian tên project_a trong lớp bây giờ bất cứ nơi nào bạn đang sử dụng mà vua của lớp thay đổi không gian tên với project_c hoặc kiểm tra tham chiếu lắp ráp trong webconfig có thể là một số tập tin vẫn nhắm mục tiêu đến url cũ hoặc chia sẻ mã của bạn. –

+1

hãy xem điều này ... http: //matthewwilliams.com/changing-namespace-for-an-mvc-project-in-visual-studio/ –

Trả lời

0

Sử dụng tìm trong tệp cho không gian tên của dự án cũ.

Rất có thể tệp thiết kế webform có các không gian tên không hợp lệ và bạn chỉ nên sửa chúng bằng tìm/thay thế.

Thủ phạm chính khác có thể là web.config trong cấu hình không gian tên và cấu hình tương tự.

+0

Yup ... đã xem xét cả hai thứ đó. Không đi. –

+0

Bạn có thể đăng thêm từ nội dung bên trong 'App_Web_index.cshtml.8117ffad.9pjm2azc.0.cs' không? –

+0

Đã thêm mã khác trong bài đăng gốc –

13

Một khu vực nữa cần kiểm tra là tệp web.config nằm trong thư mục Views, nếu nó bị loại trừ bởi Visual Studio thì Find/Replace có thể không tìm thấy nó.

Thay đổi <namespaces> ở đó.

+0

Cảm ơn, đó là nơi tôi đang trốn. – user2865446

+0

Đây cũng là trường hợp của tôi. Cảm ơn. Tìm thấy sau một giờ googling. – Imon

+0

Nó đã có trong vài tháng mà không có vấn đề. Tôi đã chẻ và xây dựng lại dự án gần như hàng ngày. Tuy nhiên, vấn đề xuất hiện sau khi gỡ bỏ cài đặt, cài đặt/nâng cấp một số gói nuget. – Imon

0

Bạn đã tìm kiếm các tham chiếu cũ bên trong tệp .sln và .csproj chưa? Bản thân tôi đã có khá một số vấn đề với VS quên để loại bỏ tài liệu tham khảo ở đó. Nó cũng không thể tìm thấy nó bằng cách sử dụng tìm kiếm trong VS vì các tập tin đang được sử dụng.

Các vấn đề liên quan