Tôi có dự án C# mà tôi đang xây dựng trong VS 2010. Nó tham chiếu dự án C++ thông qua COM, cũng là một phần của giải pháp. Thứ sáu tuần trước, tôi đã xây dựng thành công, đã thay đổi một dòng mã, tạo một bản dựng khác và tôi bắt đầu nhận được lỗi về .NET.Phiên bản đích của Khuôn khổ .NET không khớp với Điều kiện khởi động
Phiên bản đích của Khuôn khổ .NET trong dự án không khớp với phiên bản điều kiện khởi chạy .NET Framework 'Khuôn khổ .NET 3.5'. Cập nhật phiên bản của điều kiện khởi động .NET Framework để phù hợp với phiên bản đích của Khuôn khổ .NET trong Hộp thoại Tùy chọn Biên dịch Nâng cao (VB) hoặc Trang Ứng dụng (C#, F #).
- Project -> Properties -> Ứng dụng -> Target Framework (đối với từng dự án trong cả Debug và Release)
- Project -> Properties -> Publish -> Điều kiện tiên quyết (xác nhận .NET 3.5 và Windows Installer 3.1)
- Setup -> Launch điều kiện -> .NET Framework
- Setup -> Properties -> Điều kiện tiên quyết
tôi cũng đã xem xét mã vdproj cho trình cài đặt của tôi, xác nhận các điều kiện ra mắt là .NET 3.5:
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"
{
"Name" = "8:.NET Framework 3.5 SP1"
"ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"
}
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
{
"Name" = "8:Windows Installer 3.1"
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
}
}
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"
{
"Name" = "8:.NET Framework 3.5 SP1"
"ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"
}
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
{
"Name" = "8:Windows Installer 3.1"
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
}
}
"LaunchCondition"
{
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_799EF2A78D074B669D0B30310FD56A67"
{
"Name" = "8:.NET Framework"
"Message" = "8:[VSDNETMSG]"
"FrameworkVersion" = "8:.NETFramework,Version=v3.5"
"AllowLaterVersions" = "11:FALSE"
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=131000"
}
}
Vì tôi xây dựng cho cả trình biên dịch x86 và x64, tôi có hai dự án thiết lập. Thứ hai, cho bộ vi xử lý x86, không nhận được lỗi .NET. Tôi đã so sánh mã trong vdproj của nó với điều này, và nó trông giống nhau.
Tôi đã tìm thấy một số chủ đề về vấn đề này, bao gồm một chủ đề rất tốt here, nhưng không ai trong số họ đã giúp tôi giải quyết vấn đề này. Bất kỳ đề nghị sẽ là hữu ích.
EDIT
tôi đã thay đổi tất cả mọi thứ để NET 4.0 chỉ để xem nếu nó làm cho một sự khác biệt, và dự án xây dựng thành công. Tôi đã thay đổi nó trở lại, và nó đã cho tôi lỗi phiên bản .NET một lần nữa. Tôi đã kiểm tra tệp vdproj cho bất kỳ tham chiếu "4.0" nào và chỉ tìm thấy nó cho AspNetVersion, cũng xuất hiện trong phiên bản x86 của trình cài đặt hoạt động.
"AspNetVersion" = "8:4.0.30319.0"
Tôi cần phải phát hành với .NET 3.5, vì vậy đây chỉ là một bài tập để xem việc thay đổi phiên bản thành nội dung khác và ngược lại sẽ giải quyết được vấn đề.
Không hoàn toàn liên quan đến vấn đề của bạn, nhưng tôi nhận thấy bạn đang giữ nhiều tệp dự án cho các nền tảng mục tiêu khác nhau. Bạn nên kiểm tra điều này, có thể làm cho cuộc sống của bạn dễ dàng hơn: http://stackoverflow.com/a/145970/81193 –
Tôi đã có dự án tương tự như trước đây, nhưng dll C++ không đăng ký chính xác và tôi không thể truy cập nó. Trên một ý thích, tôi thêm nó vào dự án và tất cả mọi thứ làm việc như một say mê ... ít nhất là cho đến khi vấn đề này phát sinh. Cảm ơn bạn đã liên kết, mặc dù. – Tim