2012-07-11 24 views
18

Tôi gặp sự cố khi xây dựng giải pháp WPF của mình. Mỗi khi tôi cố gắng xây dựng nó, tôi nhận được thông báo lỗi này:Lỗi xây dựng không xác định Visual Studio. Tên đầy đủ phải ít hơn 260 ký tự

Lỗi xây dựng không xác định ', Đường dẫn được chỉ định, tên tệp hoặc cả hai dài quá . Tên tệp đầy đủ phải ít hơn 260 ký tự, và tên thư mục phải nhỏ hơn 248 ký tự. '

Ai đó có thể giúp tôi? Tôi đã xác minh tất cả các trường và đường dẫn mở rộng của chúng là ok. Đây có phải là một vấn đề với TortoiseSVN hoặc một cái gì đó như thế này? Gần đây tôi đã thêm một thư mục để giải pháp của tôi, có thể là một cái gì đó với điều này?

+0

Tôi không nếu nó sẽ giúp - xem giải pháp này [http://iwillsharemypoint.blogspot.co.il/2012/10/the-specified-path-file-name-or-both.html](http:/ /iwillsharemypoint.blogspot.co.il/2012/10/the-specified-path-file-name-or-both.html) – roi

Trả lời

19

Đây là một hạn chế nổi tiếng trong Windows win32 api. Thư mục mà bạn lưu trữ dự án của bạn được lồng vào quá sâu. Tên đường dẫn đầy đủ của tệp không thể chứa nhiều hơn 259 ký tự. Ngoài ra, rất nhiều mã C sử dụng MAX_PATH bắt đầu thất bại do tràn bộ đệm.

Chuyển giải pháp của bạn sang thư mục khác, thư mục gần thư mục gốc hơn.

+0

Nó làm việc với tôi. Cảm ơn! – user1517951

+8

Có cách nào để tránh MAX_PATH đó không? – Sonhja

1

Không lo lắng .... Lỗi này xảy ra do tên đường dẫn dài, Giả sử tên thư mục dự án của bạn là "myproject".

Bạn chỉ cần thay đổi vị trí của thư mục dự án ... Đặt Dự án của bạn "myproject" đến D: \ myproject hoặc hoặc F: \ myproject drive.Then Bạn Publish again..Its làm việc ...

Chúc mừng Mã hóa ...

0

Đó là vấn đề với xây dựng, định nghĩa không gian làm việc "Xây dựng Agent Thư mục location" VS bổ sung thêm đường dẫn ví dụ: $ (SourceDir) E: \ Somedirectory \ ProjectName \ Chỉ cần giữ $ (SourceDir) trong đệ

0

Tôi gặp vấn đề tương tự. Đường dẫn thanh toán của tôi ngắn hơn đường dẫn được sử dụng trên máy chủ CI của tôi. Nó được xây dựng OK trên máy chủ CI và tất cả các máy đồng nghiệp của tôi. Đường dẫn của chúng tôi có cùng độ dài bởi vì công ty chúng tôi đã đặt tên người dùng có độ dài cố định. Tôi là máy duy nhất không thể xây dựng giải pháp do đường đi dài.

Nếu bạn đi đến các thư mục này:

C: \ Windows \ Microsoft.NET \ Framework

C: \ Windows \ Microsoft.NET \ Framework64

C: \ Users \ [UserName] \ AppData \ Local \ Temp

Tìm phiên bản .NET bạn đang sử dụng với giải pháp của mình, sau đó xóa các thư mục "Tệp ASP.NET tạm thời" mà từ đó mọi phiên bản bạn cho là đang tạo hiệu ứng cho bản dựng của bạn.

Bạn có thể xóa tất cả chúng, xây dựng tiếp theo của bạn của một dự án web có thể mất lâu hơn một chút như sẽ không có hội trước biên soạn ...

Giải pháp này làm việc cho tôi vào một dung dịch chứa ASP. NET dự án - nó sẽ không làm việc trên các dự án WPF mà những người khác đã đề cập trong câu trả lời của họ, trừ khi giải pháp của họ cũng chứa các dự án ASP.NET.

Tìm kiếm chuỗi lỗi VS cung cấp cho bạn đưa tôi đến đây, vì vậy tôi đã tìm ra nó có thể giúp người khác, nếu không phải là Op với vấn đề về xây dựng WPF.

Nếu những thất bại - bạn có thể thử tìm kiếm gốc giải pháp của bạn một cách đệ quy cho các tập tin/thư mục với đường dẫn là lớn hơn 260, bằng cách thực hiện như sau:

  • mở Powershell

  • cd <path to solution root>

  • cmd /c dir /s /b |? {$_.length -gt 260} > output.txt

Thao tác này sẽ liệt kê một danh sách các tệp có đường dẫn> 260 thành tệp output.txt sẽ được tạo mới trong thư mục gốc của giải pháp của bạn.

Điều này sẽ giúp bạn tìm các tệp trong giải pháp quá dài.

0

Tôi gặp vấn đề tương tự khi trình biên dịch báo cáo rằng có sự cố với tệp ASPNETCOMPILER. Vấn đề thực tế là giải pháp chứa một thư mục node_modules, và thư mục này có thể chứa các đường dẫn rất dài, và có vẻ như trình biên dịch không thể xử lý việc này.

Windows 8.1 và 10 có một tùy chọn để tăng quãng đường giới hạn Win32:

  • mở Group Policy Editor (Nhấn Windows + R và gõ gpedit.msc và nhấn Enter)
  • Điều hướng đến thư mục sau : Chính sách máy tính cục bộ \ Cấu hình máy tính \ Mẫu quản trị \ System \ Filesystem
  • Doubleclick khi bật tùy chọn đường dẫn dài Win32 và bật tùy chọn này.

Điều này có thể cho phép bạn tạm thời di chuyển thư mục vấn đề ra khỏi bản dựng, có thể cho phép bạn xây dựng thành công, sau đó bạn có thể thêm lại thư mục vào giải pháp mà không ảnh hưởng gì.

Các vấn đề liên quan