Không tìm thấy dự án đã nhập C: \ Microsoft.CSharp.target


126

Tôi đã gặp lỗi này ngày hôm nay khi cố gắng mở một dự án Visual Studio 2008 trong Visual Studio 2005:

Không tìm thấy dự án đã nhập "C: \ Microsoft.CSharp.target".


Tôi đã phải đổi tên tài liệu tham khảo của tôi từ Microsoft.CSharp.Targetsđể Microsoft.CSharp.targetstrong .csprojfile.
Stephane

Câu trả lời:


112

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" />

22
Mine nói, "<Nhập dự án =" $ (MSBuildExtensionsPath32) \ ... "
B. Clay Shannon

@Iomaxx, tôi đã khắc phục sự cố này bằng cách thay đổi Mục tiêu xây dựng Monodevelop thành Mono / .NET 4.0 từ Mono / .NET 3.5.
Frank

5
Của tôi đã nói MSBuildBinPath, nhưng nó bao gồm CompactFramework trong không gian tên: <Nhập dự án = "$ (MSBuildBinPath) \ Microsoft.CompactFramework.CSharp.target" />
Teysz

Nếu bạn đang sử dụng Monodevelop sẽ cài đặt các gói: "mono-msbuild" và "mono-msbuild-sdkresolver". LƯU Ý: Đã thử nghiệm trên Linux Manjaro.
Eduardo Lucio

Bạn sẽ cần phải gỡ bỏ gói "msbuild-ổn định" (hoặc tương đương) nếu nó được cài đặt. LƯU Ý: Đã thử nghiệm trên Linux Manjaro.
Eduardo Lucio

59

Đâ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

  • Đầu tiên loại bỏ, gói thư mục ( nó sẽ ở gần hoặc một bước lên thư mục dự án hiện tại của bạn ).
  • Sau đó khởi động lại dự án hoặc giải pháp.
  • Bây giờ, xây dựng lại tập tin giải pháp.
  • Dự án sẽ nhận được tài liệu tham khảo mới từ trình quản lý gói nuGet. Và vấn đề của bạn đã được giải quyết.

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


1
Như Alf Moh nói, chỉ cần tìm tệp đó ở một nơi khác trên máy tính của bạn và sao chép nó vào thư mục mà nó đang tìm kiếm
Serj Sagan

@SerjSagan có, điều đó sẽ có ích nhưng đôi khi bạn không thể mở ngay cả một tệp giải pháp trong phòng thu trực quan, lúc đó giải pháp của tôi sẽ giúp ..
Bharat

5
Tôi gặp vấn đề này trên Visual Studio cho Mac, Microsoft.CSharp.targetsvì lý do nào đó đã bị xóa! Như bạn đã nói, tôi đã xóa packagesthư mục và khởi động lại Visual Studio, thật kỳ diệu là nó đã hoạt động!
A-Sharabiani

1
Điều này đã sửa nó cho tôi, nhưng một đồng nghiệp của tôi đã có thể làm việc này lần đầu tiên. Trong khi điều này không hoạt động, tôi đã có một cái gì đó khác để tìm!
JakePlatford

1
Đẹp một bro! Tôi đã mất 1 giờ về điều này
Hugo Nava Kopp

20

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


1
Đây là vấn đề đối với tôi. Tên dự án có không gian trong đó vì vậy tên thư mục sau git clone có% 20 trong đó. Bạn có thể sử dụng git clone <RepoUrl> <LocalDirName>để chỉ định tên của thư mục để sao chép vào để tránh có% 20
Dan Cook

11

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.


11

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


6

Tôi đã từng có dòng sau trong tệp csproj:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

Sau khi xóa tập tin này, nó hoạt động tốt.


6

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:

  1. 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.targetstệp.

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

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


3

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.


3

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')" />

2

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 .


2

Đối với các lỗi với Microsoft.WebApplications.targets, bạn có thể:

  1. Cài đặt Visual Studio 2010 (hoặc cùng phiên bản với máy phát triển) trong máy chủ TFS của bạn.
  2. Sao chép Microsoft.WebApplication.targetstậ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.


1

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


0

Tôi đã xóa thư mục obj và sau đó dự án được tải như mong đợi.


0

Đô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"

0

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.


0

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.

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.