Tên loại hoặc không gian tên không tồn tại trong không gian tên 'System.Web.Mvc'


217

Giải pháp xây dựng MVC3 đã hoạt động tốt nhưng gặp lỗi trong trình duyệt:

Thông báo lỗi trình biên dịch: CS0234: Loại hoặc tên không gian tên 'Html' không tồn tại trong không gian tên 'System.Web.Mvc' (bạn có thiếu tham chiếu cụm không?)

Source Error:
Line 25:         <add namespace="System.Web.Mvc" />
Line 26:         <!--<add namespace="System.Web.Mvc.Ajax" />-->
Line 27:         <add namespace="System.Web.Mvc.Html" />
Line 28:         <add namespace="System.Web.Routing" />
Line 29:         <add namespace="System.Web.WebPages" />

Tôi đã cài đặt các gói cho giải pháp NuGetvà thiết lập cho tất cả các dự án MVC3. Có MVC3bao gồm các thư viện System.Web.Mvc.Ajax, System.Web.Mvc.Htmlvà những người khác? Tại sao tôi nhận được lỗi?


Trong thư mục Tài liệu tham khảo, tôi có System.Web.Mvc

Runtime version: v4.0.30319,

Version: 3.0.0.0

Web.config

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=152368
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="webpages:Version" value="1.0.0.0" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
    <httpRuntime targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <machineKey compatibilityMode="Framework45" />
    <profile defaultProvider="DefaultProfileProvider">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </profile>
    <membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <roleManager defaultProvider="DefaultRoleProvider">
      <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </roleManager>
    <sessionState mode="InProc" customProvider="DefaultSessionProvider">
      <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
      </providers>
    </sessionState>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
  <connectionStrings>
    <add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SportStore;Integrated Security=True;Pooling=False;" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

MSDN không gian tên System.Web.Mvc

tập tin packages.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="5.0.0-rc" />
  <package id="jQuery" version="1.7.2" />
  <package id="jQuery.UI.Combined" version="1.8.11" />
  <package id="jQuery.Validation" version="1.9" />
  <package id="Microsoft.AspNet.Mvc" version="3.0.20105.1" />
  <package id="Microsoft.AspNet.Providers.Core" version="1.0" />
  <package id="Microsoft.AspNet.Providers.LocalDB" version="1.0" />
  <package id="Microsoft.AspNet.Razor" version="1.0.20105.408" />
  <package id="Microsoft.AspNet.WebPages" version="1.0.20105.408" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
  <package id="Modernizr" version="2.0.6" />
  <package id="Moq" version="4.0.10827" />
  <package id="Ninject" version="3.0.1.10" />
</packages>

1
máy chủ web của bạn là gì? cái này ở iis à?
Daniel A. White

Express IIS trong Visual Studio 2012
J.Olufsen

1
mục tiêu của dự án của bạn là gì?
Daniel A. White


2
Phụ thuộc vào người đánh vào câu hỏi này - đây là tất cả những gì cần thiết cho một số người trong chúng tôi Quản lý các gói Nuget cho Giải pháp ... >> Cập nhật
Tom Stickel

Câu trả lời:


420

Làm sạch giải pháp của bạn và sau đó đặt thuộc tính của các tệp đó thành Copy Local = True.

Để đặt thuộc tính Sao chép cục bộ thành Đúng hoặc Sai

Trong Solution Explorer, bấm vào nút Show All Files để hiển thị nút Tham chiếu.

  • Mở nút Tài liệu tham khảo cho dự án.
  • Bấm chuột phải vào một tham chiếu trong danh sách Tài liệu tham khảo và bấm Thuộc tính. Các thuộc tính được liên kết với tham chiếu đó xuất hiện trong một danh sách trong cửa sổ Thuộc tính.
  • Trong cửa sổ Thuộc tính, thay đổi thuộc tính Sao chép cục bộ thành Đúng hoặc Sai.

11
Tuyệt vời! Điều này đã sửa nó cho tôi trong một dự án MVC4. Đó là loại hiển nhiên khi bạn nghĩ về nó. Tôi chưa bao giờ nhìn vào dự án đã triển khai để xem liệu DLL có ở đó không.
Alex Kilpatrick

1
Cảm ơn! Điều này cũng giúp tôi ra ngoài!
Maritim

1
Không có gì. Đôi khi các vấn đề phức tạp được giải quyết bằng giải pháp đơn giản. :)
Kẹo bơ cứng

5
Nó hoạt động! Tôi chỉ thay đổi một tham chiếu =>System.Web.Mvc
Jaider

5
Mất một lúc tôi mới hiểu được "những tập tin đó" nghĩa là gì. Đi qua các tham chiếu lắp ráp trên mỗi dự án trong giải pháp, bất cứ điều gì với "Microsoft ASP.NET \ ASP.NET MVC 3 \ Assemblies" hoặc tương tự trong đường dẫn là một phần của vấn đề.
Nhiệm vụ

60

Vì lý do nào, HAI giải pháp của tôi có các dự án web tự động gỡ cài đặt asp.net MVC bằng cách nào đó. Tôi đã cài đặt nó từ Nuget và bây giờ cả hai đều hoạt động trở lại. Điều này xảy ra sau một loạt các bản cập nhật Windows gần đây bao gồm các bản cập nhật khung .net cho phiên bản tôi đang sử dụng (4.5.1).

Chỉnh sửa: Từ Blog Công cụ và Phát triển Web .Net:

Cập nhật bảo mật Microsoft Asp.Net MVC MS14-059 đã phá vỡ bản dựng của tôi!


4
Nó vừa mới xảy ra với tôi. Tuy nhiên, tôi đã cập nhật các gói MVC của mình thay vì cài đặt lại chúng (dù sao thì tôi cũng đã lỗi thời). Có một nguồn hoặc lý do tại sao điều này xảy ra?
Joshua H

5
Điều này có vẻ liên quan đến KB2994379 hoặc KB2992080 , tùy thuộc vào phiên bản MVC nào bạn tham khảo (lần lượt 5.1 và 5.0). Bản cập nhật cung cấp một phiên bản mới của System.Web.Mvc mà tôi cho là đang giới thiệu một cuộc xung đột phiên bản. Cập nhật gói MVC của bạn sẽ sửa lỗi. Nếu bạn không thể cập nhật vì bất kỳ lý do gì, bạn sẽ cần đặt System.Web.Mvc.dll được sao chép cục bộ.
Vinney Kelly

1
Tôi đã từng gặp vấn đề tương tự. Cập nhật gói và đặt bản sao cục bộ = true. Cảm ơn mọi người!!!!
Vackup

1
MVC Sao chép cục bộ = true +1.
Stanomatic

4
Điều tương tự cũng xảy ra với tôi. Phải đặt MVC để sao chép cục bộ = FALSE, xây dựng lại, sao chép cục bộ = TRUE, xây dựng lại. Tất cả đều tốt.
Jeppebm

38

Cái này thường bắt tôi khi tôi chạy từ IIS và nhóm ứng dụng cho trang mặc định được đặt thành .NET phiên bản 2.0. Khi sử dụng IIS từ studio trực quan, nó tạo một thư mục ảo nhưng vẫn chạy trong nhóm ứng dụng của trang mặc định. Nếu sử dụng bản dựng trong máy chủ web, nhấp chuột phải vào dự án web của bạn, đi đến thuộc tính và đảm bảo bạn đang chạy nó dưới phiên bản .NET phù hợp. Trên IIS, hãy kiểm tra phiên bản .NET trên nhóm ứng dụng của bạn.

Theo dõi từ nhận xét cuối cùng của tôi về cách tạo dự án - bạn có bao gồm các cụm, như bên dưới (được lấy từ tệp web.config mặc định được tạo bởi mẫu dự án MVC3 trong VS10):

<compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
</compilation>

2
Tất cả các dự án được thiết lập để sử dụng .NET Framework 4.5. Điều đó có nghĩa là .NET 4.5 không thể tìm thấy System.Web.Mvc.Ajax và các lớp khác?
J.Olufsen

Thông thường, điều đó có nghĩa là nó được thiết lập để chạy là 4.5 nhưng thực sự đang chạy như một thứ khác có nghĩa là nó không thể tìm thấy System.Web.Mvc.Ajax trong System.Web.Mvc.
BlackSpy

Bên cạnh đó, phiên bản System.Web.dll của bạn là gì? Lý do tôi hỏi là bạn nói rằng bạn đã thêm các hội đồng từ NuGet - bạn đã không tạo một dự án web MVC3?
BlackSpy

31

Bạn cần cập nhật MVC.

  1. Chuyển đến Công cụ -> Trình quản lý gói NuGet -> Quản lý các gói NuGet cho Giải pháp
  2. Nhấp vào "Cập nhật"
  3. Cập nhật "Microsoft ASP.NET MVC"
  4. Giải pháp xây dựng lại

1
Sử dụng Gói NuGet là tốt tuy nhiên có thể tải xuống một tấn các bản lắp ráp khác có thể không cần thiết, tuy nhiên điều này sẽ khắc phục nó.
Canvas

1
Có cùng một vấn đề, có một số tiền thưởng.
Nit

28

Tôi gặp vấn đề tương tự - kịch bản của tôi là tôi đã tham khảo System.Web.Mvc.dll mới từ thư mục lib và tôi không đặt "Sao chép cục bộ" thành đúng. Sau đó, ứng dụng đã quay trở lại phiên bản trong GAC không có không gian tên chính xác (Html, Ajax, v.v.) trong đó và khiến tôi gặp lỗi thời gian chạy.


16

Giải pháp của tôi nằm trong Quản lý các gói Nuget cho Giải pháp ... - Tôi đã có rất nhiều cập nhật để thực hiện cho một vài gói.

Hãy để tôi lùi lại nửa bước và nói rằng tôi đã tự làm phiền mình vì tôi đã chuyển giải pháp và dự án từ thư mục này sang thư mục khác ... vì vậy mọi thứ đã vượt quá so với nơi mà các dự án nghĩ ra. Mọi thứ chuyển qua đều ổn, nhưng rõ ràng Nuget trở nên bối rối trừ khi bạn sử dụng một cách tiếp cận khác với tôi.

Quay lại giải pháp ... Tôi chỉ đơn giản là đi đến Quản lý gói Nuget cho Giải pháp ... >> Cập nhật >> Microsoft và .NET và nhấn nút Cập nhật tất cả .

Mọi thứ đã trở lại bình thường và hạnh phúc.


Tôi đã đăng giải pháp cùng loại khi vô tình bỏ qua bài đăng +1 của bạn cho bạn
Tom Stickel

Đây là sửa chữa cho tôi là tốt.
bradj

Lưu ý rằng bạn cũng có thể cần cập nhật JQuery và Bootstrap sau khi thực hiện việc này
Carl Onager

Cập nhật các gói nuget mvc, dao cạo và trang web làm việc cho tôi trong một dự án MVC5.
bọt

9

Tôi đã tải xuống một dự án mvc 5 và vấn đề vi phạm chỉ vào

<add namespace="System.Web.Mvc.Ajax" />  

Với thông báo lỗi này:

CS0234: The type or namespace name 'Ajax' does not exist in the namespace 'System.Web.Mvc' (are you missing an assembly reference?)

-> trong đó tôi đã đến trang web này và đã thử một cách sạch sẽ và một vài điều ở trên, v.v ...

Những gì làm việc cho tôi chỉ là

Manage Nuget and Update all the packages.  Then it worked fine.

1
Ồ, tôi sẽ rời khỏi bài viết của mình, nhưng tôi thấy azarc3 đang nói điều tương tự. nâng đỡ anh ta
Tom Stickel

7

Chạy lệnh sau trong trình quản lý gói nuget đã sửa nó cho tôi:

update-package microsoft.aspnet.mvc -reinstall

2
Điều này cần phải được nâng cấp khoảng một nghìn lần nữa.
Chazt3n

1
@ Chazt3n Không làm việc cho tôi, nhưng đó là một gợi ý hay vì vậy + 1
Jared Beach

Tôi đã thử tất cả các phương pháp khác, và về mặt kỹ thuật sử dụng Trình quản lý gói, đã gỡ cài đặt và cài đặt lại và cập nhật và những gì không. Vì vậy, tôi đã bi quan về câu trả lời này, nhưng tuyệt vọng. Điều này làm việc bằng cách nào đó.
Mahesh

6

Câu trả lời này khá muộn khi đưa ra ngày câu hỏi, nhưng ai đó có thể thấy nó hữu ích.

Không có giải pháp nào ở trên làm việc cho tôi trong Visual Studio 2012 trong một dự án cục bộ, Net Framework 4.5 MVC 4. Đối với ngữ cảnh, tôi đã làm theo hướng dẫn về cách tạo một bariones Web Api trên CodeProject ( http://www.codeproject.com/ Các bài viết / 615805 / Tạo-a-Sạch-Tối thiểu-Dấu chân-ASP-NET-WebAPI ) khi tôi gặp phải vấn đề này.

Những gì đã làm cho tôi là thêm "System.Web.Mvc" vào các tham chiếu của ứng dụng của tôi, mặc dù ứng dụng đã tham chiếu "System.Web".


Cảm ơn. Điều này đã giải quyết vấn đề của tôi (mặc dù đó là với DevExpress.Web.Mvc)
dferraro

+1. Tôi đang sử dụng MvcSiteMapProvider và vì nó không hoạt động với các phiên bản mới nhất của MVC, tôi không thể thực hiện "Cập nhật tất cả" cho các gói Microsoft ASP.Net MVC thông qua nuget. Thêm một gợi ý nữa là bạn có thể cần phải thực hiện "CopyLocal = True" cho hội đồng này.
dùng007

Chỉ cần đẩy ứng dụng web gỡ lỗi sang môi trường mới. Cần thêm "sao chép cục bộ" vào tham chiếu.
dudeNumber4

4

Tôi đã có cùng một vấn đề, nhưng không có điều nào ở trên làm việc cho tôi. Họ đã đưa tôi đi đúng hướng mặc dù.

Ví dụ: khi tôi đặt "Sao chép cục bộ" thành "true" cho tham chiếu System.Web.Mvc, nó sẽ tự động đặt lại thành Sai.

Tôi có nhiều dự án phụ thuộc vào tham chiếu System.Web.Mvc trong giải pháp của tôi, nhưng chỉ có một dự án gây ra sự cố này. Trong VS 2012, tham chiếu này được dán nhãn bằng tam giác chú ý màu vàng.

Tìm tài liệu tham khảo này => xóa nó => thêm lại nó

Điều đó đã sửa nó cho tôi. Hi vọng điêu nay co ich


3

Xem và kiểm tra các đường dẫn tham chiếu trong csproj của bạn.

Tôi đã xóa các tham chiếu đến System.Web.Mvc (và những người khác) và đưa họ trở lại một đường dẫn tùy chỉnh. C:\Project\OurWebReferences

Tuy nhiên, sau khi làm điều này, đường dẫn tham chiếu trong csproj vẫn không thay đổi. Được

<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\..\OurWebProject\bin\Debug\System.Web.Mvc.dll</HintPath>
</Reference>

Thay đổi thành thủ công

<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
        <HintPath>..\..\..\..\OurWebReferences\System.Web.Mvc.dll</HintPath>
</Reference>

Đường dẫn chỉ là một ví dụ.


3

Đối với tôi, giải pháp là đảm bảo tất cả các dự án đang xây dựng cho cùng một CPU - trong trường hợp của tôi là x86


2

Sao chép Local = True đã được giải quyết cho một trong các dự án của tôi. Nhưng trong một dự án khác, tôi gặp lỗi tương tự, đã cố gắng đặt Copy Local = true, nhưng nó không giải quyết được vấn đề của tôi. Thay đổi khung Target từ 4.5.1 thành 4.5 trong Thuộc tính dự án được trợ giúp với điều này.


2

Tôi đã làm một cái gì đó thực sự ngu ngốc (và có lẽ bạn cũng đã làm như vậy).

Tôi đã cố gọi System.Web.Mvc.Html.Partial("<Partial Page>")

System.Web.Mvc.Html là một không gian tên và không phải là một lớp và tôi đã không đọc thông báo lỗi của mình rất tốt, vì vậy tôi đã hiểu lỗi của mình là lớp Html không tồn tại trong không gian tên System.Web.Mvc và đó là cách tôi kết thúc ở đây (ngu ngốc tôi biết).

Tất cả những gì tôi cần làm là thêm một tuyên bố sử dụng @using System.Web.Mvc.Htmlvào trang của mình và sau đó @Html.Partialhoạt động như mong đợi.


Visual Studio 2015 sẽ gắn cờ việc sử dụng là không cần thiết, nhưng nếu bạn để nó xóa nó, thì bạn sẽ gặp các lỗi như: "Loại hoặc tên không gian tên 'Người trợ giúp' không tồn tại trong không gian tên 'Microsoft.Web' (bạn đang thiếu một tài liệu tham khảo lắp ráp?) ".
justdan23

1

nếu bất kỳ điều nào ở trên không giải quyết được vấn đề của bạn, chỉ cần đặt thuộc tính của System.Web.Mvc.dll để sao chép ture cục bộ.

nó sẽ giải quyết


1

Tôi đã có cùng một vấn đề, nhưng trong trường hợp của tôi có nguồn gốc từ yếu tố khác. Tôi viết điều này để giúp đỡ những người khác có cùng vấn đề. Tôi có một giải pháp với nhiều dự án. hai trong số chúng hoạt động với System.Web.Mvc, Thông thường tham chiếu của chúng tôi đã trỏ đến các gói bên ngoài nơi chúng tôi kiểm soát phiên bản đã sử dụng. Vì một số lý do, một trong những tham chiếu của dự án chuyển đến GAC và trỏ đến dll GAC (phiên bản 4.0.0.1) và chương trình đã gặp lỗi. Để sửa nó:

Kiểm tra đơn giản nếu các tham chiếu đến System.Web.Mvc trỏ đến cùng một dll trong cùng đường dẫn thư mục.

Tôi hy vọng sự giúp đỡ đó.


1

Tôi đã xóa System.Web.dll khỏi Bin frolder của trang web của tôi.


tôi là trường hợp của tôi Tôi đã chuyển sang chi nhánh cũ mà không có MVC. Và System.Web.dll trong thư mục Bin đã phá vỡ bild của tôi.
andre719mv

1

Tôi đã có vấn đề này, thiết lập sao chép cục bộ bật và tắt vv không hoạt động. Dự án đã không sử dụng nuget nên các bản sửa lỗi xung quanh đó cũng nằm ngoài câu hỏi đó.

Cách khắc phục đối với tôi là cài đặt MVC 3 (tôi đã thực hiện thông qua trình cài đặt nền tảng web).

Tôi nghi ngờ điều này sẽ trở thành một giải pháp cho mọi người khi khung .net tiếp tục phát triển và mọi người không cài đặt công cụ MVC cũ hơn.


1

Có thể việc đặt DLL của bạn thành CopyLocal / true hoặc bất kỳ bản sửa lỗi lớn nào khác cho việc này sẽ khắc phục vấn đề của bạn, nhưng đây là một trường hợp khác khiến tôi mất 20 phút lãng phí.

Khi bạn thêm không gian tên vào Chế độ xem / Web.config, hãy đảm bảo chúng được đặt chính xác:

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="THE.NameSpace" />
        <add namespace="THE.Namespace" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

1

Ok rất nhiều người dường như đang gặp vấn đề này. Vấn đề của tôi là do các tham chiếu có đường dẫn đến các thư mục bin của các dự án khác hoặc tham chiếu các dll từ các thư mục hệ thống. Dự án này khoảng 6 năm và các nhà phát triển trước đó đã quyết định rằng đây là cách họ sẽ tham khảo thư viện của họ.

Giải pháp là đi qua mọi tham chiếu và kiểm tra các đường dẫn, sau đó xóa tham chiếu và thêm nó bằng NuGet. Đối với bất kỳ gói nào không có trên NuGet, tôi đã tạo một thư mục khác cùng với các gói và đặt dll vào đó theo cùng bố cục như NuGet.

Tôi cũng phải xem qua các tập tin cấu hình và đảm bảo phiên bản chính xác của các gói đang được sử dụng. Một quá trình dài và đau đớn!


1

Tôi có một dự án thực hiện điều này bất cứ khi nào tôi xây dựng với Chế độ xem mở. Ngay khi tôi đóng chế độ xem, lỗi sẽ biến mất và quá trình xây dựng thành công. Rất lạ.


0

Tôi có cùng một vấn đề, không có giải pháp nào hiệu quả với tôi, Cuối cùng tôi đã gỡ bỏ System.Web.MVCvà thêm lại Sau đó mọi thứ trở lại bình thường và vấn đề của tôi đã được giải quyết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.