Câu trả lời:
Mở tệp csproj của bạn trong notepad (hoặc notepad ++) Tìm dòng:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
và thay đổi nó thành
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Đây là một giải pháp toàn cầu, không phụ thuộc vào gói hoặc thùng cụ thể.
Trong trường hợp của tôi, tôi đã xóa thư mục Gói khỏi thư mục gốc của mình.
Có thể nó xảy ra do các gói của bạn ở đó nhưng trình biên dịch không tìm thấy tài liệu tham khảo. Vì vậy, loại bỏ các gói cũ trước và thêm các gói mới.
Các bước để thêm gói mới
Đây không phải là giải pháp thích hợp, nhưng tôi đã đăng nó ở đây vì tôi gặp phải vấn đề tương tự.
Trong trường hợp của tôi, tôi thậm chí không thể mở giải pháp của mình trong phòng thu trực quan và không nhận được bất kỳ trợ giúp nào với các câu trả lời SO khác.
Microsoft.CSharp.targets
vì lý do nào đó đã bị xóa! Như bạn đã nói, tôi đã xóa packages
thư mục và khởi động lại Visual Studio, thật kỳ diệu là nó đã hoạt động!
Đối với tôi, vấn đề là đường dẫn của dự án chứa% 20 ký tự, bởi vì git đã thêm chúng thay vì khoảng trắng khi kho được sao chép. Một vấn đề khác có thể là nếu đường dẫn đến một gói quá dài.
git clone <RepoUrl> <LocalDirName>
để chỉ định tên của thư mục để sao chép vào để tránh có% 20
Liên kết này trên MSDN cũng giúp rất nhiều để hiểu lý do tại sao nó không hoạt động. $ (MSBuildToolsPath) là đường dẫn đến Microsoft.Build.Engine v3.5 (được chèn tự động trong tệp dự án khi bạn tạo trong VS2008). Nếu bạn cố gắng xây dựng dự án của mình cho .Net 2.0, hãy chắc chắn rằng bạn đã thay đổi đường dẫn này thành $ (MSBuildBinPath), đó là đường dẫn đến Microsoft.Build.Engine v2.0.
Trong trường hợp của tôi, tôi không thể tải một trong 5 dự án trong giải pháp của mình.
Nó giúp đóng Visual Studio và tôi phải xóa Microsoft.Net.Compilers.1.3.2
thư mục nuget trong packages
thư mục.
Sau đó, mở lại giải pháp của bạn và dự án được tải như mong đợi
Để chắc chắn, hãy đóng tất cả các phiên bản của VS trước khi bạn xóa thư mục.
Nếu bạn gặp phải lỗi đó Microsoft.CSharp.Core.targets not found
, đây là những bước tôi đã thực hiện để sửa lỗi của mình:
Mở bất kỳ thư mục dự án làm việc trước đó và điều hướng đến liên kết hiển thị trong lỗi, đó là Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/
và tìm kiếm Microsoft.CSharp.Core.targets
tệp.
Sao chép tệp này và đặt nó trong dự án không hoạt động tools folder
(nghĩa là điều hướng đến thư mục công cụ trong dự án không hoạt động như hình trên)
Bây giờ hãy đóng dự án của bạn (nếu nó đã mở) và mở lại nó.
Nó nên được làm việc bây giờ.
Ngoài ra, để đảm bảo mọi thứ đều hoạt động bình thường trong Dự án Visual Studio đang mở của bạn, hãy truy cập Tools > NuGetPackage Manager > Manage NuGet Packages For Solution
. Tại đây, bạn có thể tìm thấy một lỗi cho biết, CodeAnalysis.dll đang được sử dụng bởi một ứng dụng khác.
Một lần nữa, đi đến tools folder
, tìm tập tin được chỉ định và xóa nó. Trở lại vớiManage NuGet Packages For Solution
. Bạn sẽ tìm thấy một liên kết sẽ yêu cầu bạn Tải lại, nhấp vào liên kết và mọi thứ sẽ được cài đặt lại.
Dự án của bạn nên được làm việc đúng cách bây giờ.
Tôi đã nhận được điều này sau khi cài đặt lại Windows. Visual Studio đã được cài đặt và tôi có thể thấy loại dự án Silverlight trong cửa sổ Dự án mới, nhưng việc mở một dự án không hoạt động. Giải pháp rất đơn giản: Tôi phải cài đặt thời gian chạy của Nhà phát triển Silverlight và / hoặc Công cụ Microsoft Silverlight 4 cho Visual Studio. Điều này có vẻ ngu ngốc, nhưng tôi đã bỏ qua nó vì tôi nghĩ nó nên hoạt động, vì loại dự án Silverlight đã có sẵn.
Trong trường hợp của tôi, tôi đã mở tệp .csproj của mình trong notepad và xóa ba dòng sau. Làm việc như người ở:
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />
ok vậy nếu nó nói điều này: giữa các dấu gt / lt
Nhập dự án = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.t Target" /
Làm thế nào để tôi sửa lỗi mục tiêu?
Tôi cũng thấy rằng chuỗi nhập trong một dự án demo (cụ thể là "Xây dựng khung MVVM của riêng bạn" của Rob Eisenburg).
Nếu bạn thay thế lần nhập đó bằng lần nhập được đề xuất bởi báo cáo lomaxx VS2010 RTM mà bạn cần cài đặt này .
Đối với các lỗi với Microsoft.WebApplications.targets
, bạn có thể:
Microsoft.WebApplication.targets
tập tin dữ liệu từ tập tin phát triển vào máy xây dựng TFS.Đây là bài viết.
Lỗi này cũng có thể xảy ra khi mở dự án Silverlight được xây dựng trong SL 4, trong khi bạn đã cài đặt SL 5.
Dưới đây là một thông báo lỗi ví dụ: Không tìm thấy dự án đã nhập "C: \ Program Files (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.t Target".
Lưu ý v4.0.
Để giải quyết, chỉnh sửa dự án và tìm:
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
Và thay đổi nó thành v5.0.
Sau đó tải lại dự án và nó sẽ mở (trừ khi bạn chưa cài đặt SL 5).
Tôi đã xóa thư mục obj và sau đó dự án được tải như mong đợi.
Đôi khi vấn đề có thể xảy ra với phiên bản VS được mã hóa cứng trong tệp .csproj. Nếu bạn có trong csproj của bạn một cái gì đó như thế này:
[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"
Bạn nên kiểm tra xem con số có đúng không (lý do sai có thể là dự án đã được tạo bằng một phiên bản khác của Visual Studio). Nếu sai, hãy thay thế bằng phiên bản công cụ xây dựng hiện tại HOẶC sử dụng biến VS:
[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"
Tôi gặp phải vấn đề này trong khi thực hiện một vở kịch Ansible vì vậy tôi muốn thêm 2 xu của mình vào đây. Tôi nhận thấy một thông báo cảnh báo về việc mất Visual Studio 14. Visual Studio phiên bản 14 đã được phát hành vào năm 2015 và giải pháp cho vấn đề của tôi là cài đặt Visual Studio 2015 Professional trên máy chủ của đại lý Azure DevOps của tôi.
Sau khi cố gắng khôi phục, đóng VS, xóa gói bị lỗi, mở lại, cố gắng khôi phục, nhiều lần tôi chỉ xóa mọi thứ trong các gói và khi tôi thực hiện khôi phục và nó hoạt động hoàn hảo.
Microsoft.CSharp.Targets
đểMicrosoft.CSharp.targets
trong.csproj
file.