Tôi đang cố gắng để xây dựng một trang web ASP.NET cho Microsoft .NET 4.0 sử dụng Entity Framework 6. Các trang web được nhắm mục tiêu một cách rõ ràng NET 4.0 trong web.config
:.NET 4.0 DataAnnotations GAC/EntityFramework xung đột
<compilation debug="true" targetFramework="4.0">
, IIS Express hồ bơi ứng dụng trong applicationhost.config
cũng nhắm .NET 4.0:
<add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
Khi trang web được đưa ra, một số CS0433
lỗi biên dịch được hiển thị, những người như dưới đây:
error CS0433: The type "System.ComponentModel.DataAnnotations.Schema.TableAttribute" exists in both "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll" and "c:\Users\%username%\AppData\Local\Temp\Temporary ASP.NET Files\vs\e798ee36\2b3f5a24\assembly\dl3\fd34a92a\0052703a_0990d101\EntityFramework.DLL"
Theo như tôi nhớ, không nên có System.ComponentModel.DataAnnotations
lắp ráp trong .NET 4.0, hoặc ít nhất nó không nên chứa các lớp học như TableAttribute
, KeyAttribute
vv dẫn duy nhất tôi có là điểm mấu chốt của trang báo lỗi, mà nói
Microsoft .NET Framework, version:4.0.30319; ASP.NET, version:4.6.1055.0
tuy nhiên, tôi không biết làm thế nào để thay đổi đặc biệt ASP.NET phiên bản cho một trang web (tất nhiên, nếu đó là nguồn của vấn đề).
Bạn đã cố gắng: 1) Nhấp chuột phải vào giải pháp trong VS, sau đó chọn 'Giải pháp làm sạch', 2) Nhấp chuột phải vào giải pháp và sau đó chọn 'Giải pháp xây dựng lại'.Không có bảo đảm ở đây, nhưng nó có thể giúp vì một trong những DLL: s được đề cập trong lỗi nằm trong thư mục 'Temporary ASP.NET Files'. – user1429080
@ user1429080 Vâng, đó là điều đầu tiên tôi đã thử. –
Vì vậy, bạn chắc chắn rằng không có tham chiếu đến System.ComponentModel.DataAnnotations lắp ráp bất cứ nơi nào trong dự án Visual Studio của bạn? – Evk