Phiên bản dự án Visual Studio 2015 không thành công nhưng không có lỗi


110

Các bản dựng dự án của tôi đều thất bại nhưng tôi không hiển thị bất kỳ lỗi nào. Tôi đã thử dọn dẹp và xây dựng lại, điều đó không hiệu quả.

Tôi đã thay đổi độ chi tiết của đầu ra MSBuild thành 'Chẩn đoán' với hy vọng nó sẽ giúp tôi xác định vấn đề và bây giờ tôi bị mắc kẹt. Đây là kết quả đầu ra:

1>Project 'ProjectMM.Data.Models' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\ProjectMM.Data.Models.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\bin\Debug\ProjectMM.Data.Models.pdb'.
All packages are already installed and there is nothing to restore.
1>------ Build started: Project: ProjectMM.Data.Models, Configuration: Debug Any CPU ------
2>Project 'ProjectMM.Data' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data\ProjectMM.Data.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data\bin\Debug\ProjectMM.Data.pdb'.
2>------ Build started: Project: ProjectMM.Data, Configuration: Debug Any CPU ------
3>Project 'ProjectMM' is not up to date. Input file 'c:\projects\projectmm\projectmm\app_start\bundleconfig.cs' is modified after output file 'C:\Projects\ProjectMM\ProjectMM\bin\ProjectMM.pdb'.
3>------ Build started: Project: ProjectMM, Configuration: Debug Any CPU ------
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========

1
Cửa sổ Danh sách Lỗi của bạn có hiển thị hay không?
Karthik

Vào menu View -> Chọn Error List và kiểm tra xem bạn có lỗi nào không. Tốt nhất bạn nên lấy nó trong Danh sách lỗi. Giữ Lỗi Danh sách cửa sổ của bạn trong mở và cố gắng xây dựng dự án và xem những gì sẽ xảy ra ..
Karthik

4
Vì vậy, đây là những gì vừa xảy ra: Tôi đã đăng câu hỏi này và giả sử rằng tôi sẽ không nhận được phản hồi ngay lập tức, tôi đã đóng dự án. Bạn đã nhắc tôi mở nó sao lưu, mở danh sách lỗi và xây dựng lại. Nó hoạt động hoàn hảo, không có lỗi, tất cả đều thành công!
Rob Greenlee

@RobGreenlee: Xem câu trả lời của tôi, tôi cá là "tab Lỗi" đã hoạt động khi bạn mở lại giải pháp!
jpo38

Câu trả lời:


101

Tôi đã gặp vấn đề tương tự và việc đóng và mở lại Visual Studio sẽ xóa nó.

Tôi cũng đã thử làm sạch dung dịch và cũng không thành công.

Có thể có các tình huống khác mà điều này không thực hiện được thủ thuật, nhưng trong trường hợp của tôi, việc khởi động lại đã giải quyết được điều này cho tôi.


22
Nếu nó không giúp khởi động lại. Tôi thường gặp sự cố này khi thêm một dự án vào giải pháp của mình, với một khung Target khác tham chiếu đến các dự án khung khác.
Bastiaan Linders

7
Trong trường hợp của tôi, khởi động lại VS hoặc làm sạch dung dịch không giúp được gì. Tuy nhiên, loại bỏ các .suo dưới .vs thư mục đã giải quyết được vấn đề
cellik

@cellik: Nó không hoạt động trong trường hợp của tôi. Giá trị là gì..Tôi đang sử dụng phiên bản Enterprise.
KMC

4
Tôi đã gặp vấn đề tương tự sau khi thay đổi thời gian trên máy tính của mình từ múi giờ CEST (GMT + 1) sang múi giờ Hoa Kỳ (GMT-7), có vẻ như nó không thể xử lý dấu thời gian của bản dựng cuối cùng trong tương lai. Sau khi khởi động lại VS mọi thứ đều OK.
martinh_kentico

2
Việc xóa các tệp .suo cũng thực hiện được thủ thuật đối với tôi, việc khởi động lại và dọn dẹp thì không.
Johann Marx

117

Có thể bạn không nhìn thấy tất cả các lỗi xây dựng.

Bằng cách thay đổi danh sách thả xuống sau biểu tượng "Tin nhắn" từ "Build + Intellisense" thành "Build Only", bạn sẽ có thể thấy các lỗi được phát ra trong quá trình xây dựng mà Intellisense không phát hiện ra. Xem ảnh chụp màn hình bên dưới:

Xây dựng


3
Dude bạn là vị cứu tinh của tôi!
KMC

19
Tại sao lỗi "Chỉ xây dựng" không xuất hiện trong "Xây dựng + Intellisense"?
CodyF

Điều này đã giúp hiển thị các lỗi trong danh sách lỗi, nhưng các dòng mã có lỗi không có gạch dưới màu đỏ. Tôi đoán đây phải là một vấn đề Intellisense.
Drew

Làm việc cho tôi. Tôi đã chuyển sang Build và Intellisense, công cụ này đang che giấu các lỗi xây dựng. Bản dựng Chỉ hoạt động và hiển thị lỗi bản dựng.
HerrimanCoder

1
Ngài đã cứu tôi cả ngày .. làm tốt lắm .. Cảm ơn rất nhiều
MA9H

32

Tôi thường xuyên thấy các trường hợp VS2015 báo cáo "xây dựng không thành công" nhưng không hiển thị bất kỳ lỗi nào trong cửa sổ lỗi. Đến từ nền tảng dòng lệnh cổ xưa, cuối cùng tôi đã nhìn vào cửa sổ đầu ra. Cửa sổ đầu ra hiển thị lỗi báo cáo trình biên dịch nhưng những lỗi đó không được ghi vào cửa sổ lỗi. Tôi chưa bao giờ thấy vấn đề này trong VS2013.

Việc đóng VS thông thường và mở lại nó không giải quyết được tình trạng này. (Trong VS2013, đây là một cách phổ biến để kick intellisense XAML ở phía sau và làm cho nó ngừng sửa chữa một "lỗi" đã được sửa.)

Cho đến nay điều này luôn liên quan đến lỗi biên dịch trong tệp CS trang XAML. Tôi không thể nhớ đã nhìn thấy nó trong một tệp CS không phải trang.

Cho đến khi một người tìm ra để kiểm tra cửa sổ đầu ra, những thứ như báo cáo intellisense trong cửa sổ lỗi tham chiếu không hợp lệ đến các đối tượng trong XAML, nhưng không có lỗi trình biên dịch nào được hiển thị trong cửa sổ lỗi có thể gây RẤT nhầm lẫn vì nó "xuất hiện" giống như lỗi intellisense báo cáo lỗi XAML. Nhưng thực tế thì không. Các lỗi XAML chỉ là các triệu chứng của việc các tệp CS không biên dịch được nhưng không báo cáo lỗi của chúng trong cửa sổ lỗi.


20
Đối với những người bạn vẫn đang gặp khó khăn với cửa sổ lỗi ẩn, có vẻ như bạn có thể nhận được lỗi trình biên dịch hiển thị trong cửa sổ bằng cách chọn Chỉ xây dựng trong menu thả xuống Bộ lọc LỗiList To trong cửa sổ Danh sách lỗi (menu thả xuống không có nhãn ... Bạn có thể tìm ra nó là cái nào bằng cách di chuột qua nó và quan sát chú giải công cụ).
Robert Harvey

2
@RobertHarvey ... đây là chìa khóa ... nhưng TẠI SAO trên thế giới Intellisense lại ghi đè bản dựng?
felickz

@RobertHarvey đó chính xác là nó. Hóa ra, khi ai đó ở đây gợi ý rằng tôi đang tham chiếu đến một dự án .net không tương thích, nhưng tôi không thể biết vấn đề là gì cho đến khi tôi chuyển đầu ra thành "Chỉ xây dựng" trong ngăn Lỗi. Ngay sau khi tôi làm điều đó, nó đã chỉ cho tôi đúng vấn đề. Cảm ơn vì tiền boa.
David Gunderson

Câu trả lời này là manh mối cho tôi. Tìm kiếm "lỗi CS" (không có dấu ngoặc kép) để có thể chặn các ngoại lệ xây dựng.
granadaCoder

Tái bút. Lỗi của tôi là tôi đã sử dụng cùng một tên biến trong phương thức của mình. "string x = string.Empty;" ví dụ. Tôi đã có một trình xử lý ngoại lệ cũng có khai báo "chuỗi x" trong đó.
granadaCoder

11

Xóa .vsthư mục ẩn đối với VS2015 đã làm việc cho tôi.

(Lưu ý rằng đây là nơi các tệp SUO hiện đang tồn tại)


9

Điều này có thể xảy ra khi bạn tham chiếu đến một dự án phiên bản khung .net khác (v4.5.2 so với v4.5 trong trường hợp của tôi). Sửa lỗi này sẽ khắc phục được sự cố của bạn.


Đây chính xác là vấn đề của tôi. Đã thêm một dự án mới vào giải pháp là v4.5.2 và tôi đã tham chiếu nó từ một dự án khác là v4.5. Đã chuyển dự án mới sang v4.5 và nó hoạt động tốt.
Drew

7

Điều đã xảy ra với tôi là, việc thay đổi múi giờ trên máy tính thành +5: 30 và sau đó đổi lại -5: 00 là điều khiến VS. bối rối. Khi tôi khởi động lại VS, nó hoạt động tốt trở lại.


không có manh mối. Tôi sử dụng kiểm soát phiên bản vì vậy nó có thể bị nhầm lẫn với thời gian ???
MB

6

Kiểm tra tất cả các phiên bản Project Framework của bạn và đảm bảo rằng chúng đều giống nhau, hoặc ít nhất là dự án A không tham chiếu đến dự án B khi phiên bản .NET Framework của dự án B cao hơn.


6

Tôi đã gặp sự cố này với VS2015 Cập nhật 3 RC và Xamarin (dự án chia sẻ .Forms).
Trình biên dịch không dừng lại, lỗi chỉ được hiển thị trong cửa sổ đầu ra.
Điều này chỉ dành cho các dự án Xamarin (với các dự án VB.NET tất cả đều hoạt động như mong đợi) ...
Để thử tìm lý do cho sự cố, tôi đã thay đổi Kết quả xây dựng trong VS:
- menu "Công cụ - Tùy chọn"
- từ bảng điều khiển bên trái : "Projects And Solutions: Build And Run":
- thay đổi "MSBuild Output Verbosity" từ "Minimal" thành "Diagnostic"

Sau khi làm điều đó, trình biên dịch đã dừng lại và lỗi được hiển thị ..
Sau đó, tôi đã đặt lại tùy chọn từ "Chẩn đoán" thành "Tối thiểu" (giống như trước đây) và ... nó cũng đã hoạt động với "Tối thiểu" (để chắc chắn, tôi cũng đã khởi động lại VS) ...

Vì vậy, có vẻ như (ít nhất là trường hợp của tôi) rằng chỉ thay đổi (chạm vào) cài đặt (MSBuild Output Verbosity ") đã giải quyết được vấn đề và đây là lỗi trong VS và / hoặc Phần mềm tích hợp Xamarin ...


1
Tại sao câu trả lời này không được ủng hộ cao hơn? Nó cung cấp cho bạn giải pháp hoàn hảo để gỡ lỗi những gì sai
John Demetriou

Kiểm tra câu trả lời của tôi bên dưới. Tôi nghĩ rằng giải pháp của bạn là đúng nhưng tôi nhận ra rằng ngay cả với mức đầu ra "Chẩn đoán", "tab Lỗi" của tôi vẫn trống. Như những người khác, rất có thể bạn đã giữ "tab Lỗi" hoạt động và đó là lý do tại sao nó bắt đầu hoạt động tốt ...
jpo38

6

Tôi không biết liệu mình có phải là người duy nhất đang đối mặt với vấn đề này hay không.

Trong trường hợp của tôi khi tôi mở Visual Studio, múi giờ là GMT + 1: 00 và quá trình xây dựng thành công. Sau đó, tôi thay đổi múi giờ thành GMT + 5: 30 và sau đó không khởi động lại Visual Studio, tôi đã cố gắng chạy ứng dụng, nhưng quá trình xây dựng không thành công mà không có bất kỳ lỗi hoặc cảnh báo nào.

Tôi đã đổi lại múi giờ thành GMT + 1: 00 và quá trình xây dựng đã thành công mà không có bất kỳ sai sót nào.


Cảm ơn rất nhiều - điều này làm tôi phát điên cả buổi chiều :-)
indra

2

Những gì tôi đã làm (sau tất cả những điều trên, và nó vẫn không hoạt động) là đi qua tất cả các thư mục bin và xóa tất cả chúng (tức là cả các dự án được tham chiếu).

Điều này đã làm việc cho tôi, hy vọng nó cũng làm cho bạn.


2

Tôi gặp sự cố này và hóa ra là tôi đã usingtrỏ đến một không gian tên trống. Xóa usingđiều khoản đó đã khắc phục được sự cố


2

Kiểm tra các cảnh báo ..

Tôi đã có thư viện lớp mới với mục tiêu .Net Framework 4.5 trong khi dự án tham chiếu là 4.0 gây ra sự cố tham chiếu.

Sau khi sửa đổi thư viện lớp với mục tiêu .Net Framework 4.0, nó hoạt động bình thường.


2

Không có gì từ các câu trả lời trên giúp ích cho tôi. Sau nhiều thử nghiệm, tôi cuối cùng đã phát hiện ra rằng vấn đề là một tham chiếu của Microsoft.Net.Compilers v2.10.0 trong một trong các dự án. VS 2015 sử dụng MSBuild v14 không hỗ trợ phiên bản Microsoft.Net.Compilers đó.


1

Đối với tôi, vấn đề này liên quan đến cài đặt bộ quy tắc CodeAnalysis tùy chỉnh " Bao gồm tất cả ".

Có vẻ như Trình biên dịch quan sát cài đặt này:

  <IncludeAll Action="Error" />

Nhưng IntelliSense đã lấy HÀNH ĐỘNG mặc định trên Id quy tắc là "Cảnh báo". Điều này sẽ giải thích hành vi được nhìn thấy bởi @RobertHarvey trong đó bạn lọc đầu ra bằng Chỉ xây dựng và nó hiển thị dưới dạng LỖI , nhưng nếu bạn lọc theo Chỉ Intellisene thì nó hiển thị là CẢNH BÁO . Lọc đầu ra theo Build + Intellisense mặc định có vẻ không xác định!

Cách khắc phục của tôi là gọi ra quy tắc mà tôi muốn trở thành cảnh báo một cách rõ ràng.

  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
    <Rule Id="CS0618" Action="Warning" />
  </Rules>

Đây có thể là một vấn đề với việc Intellisense không tuân theo tùy chọn Bao gồm tất cả . Xem https://github.com/dotnet/roslyn/issues/7400


1

Điều này cũng có thể xảy ra khi di chuyển dự án sang Visual Studio 2015 với Framework cũ hơn. Kiểm tra Cảnh báo của bạn trong Danh sách lỗi của bạn. Bạn có thể thấy một cái gì đó giống như dự án hiện là .NET phiên bản 2.0 và yêu cầu .NET 3.5 trở lên. Nếu bạn tìm thấy một cảnh báo tương tự, hãy chuyển đến thuộc tính dự án của bạn và nhắm mục tiêu .NET Framework được yêu cầu.


1

Vui lòng kiểm tra cảnh báo. Đôi khi quá trình xây dựng không thành công do một số loại cảnh báo.


1

Khi mở một giải pháp, tạo nó, tôi có thể thấy một số lỗi xây dựng hoặc cảnh báo được báo cáo trong "tab Đầu ra", trong khi "tab Lỗi" không báo cáo bất kỳ sự cố nào.

nhập mô tả hình ảnh ở đây

Bạn có thể thấy rằng cấu hình "tab Lỗi" là OK ("Chỉ xây dựng" và "Toàn bộ giải pháp" được chọn).

Lưu ý rằng, sau khi điều tra sâu, tôi xác định rằng điều này chỉ xảy ra khi "tab Lỗi" chưa được hiển thị khi bạn bắt đầu xây dựng!

Nếu bạn đã kích hoạt "tab Lỗi" trước khi xây dựng (hoặc nếu đó là tab hiện tại khi bạn khởi chạy Visual), thì các lỗi / cảnh báo mới tìm thấy sẽ hiển thị chính xác:

nhập mô tả hình ảnh ở đây

Nó giống như thể "tab Lỗi" chỉ được khởi tạo khi nó hiển thị (điều này có thể đúng vì mất nhiều thời gian hơn để hiển thị lần đầu tiên bạn nhấp vào nó ...) và, nếu không, nó không tập hợp bản dựng các kết quả...

Cho đến nay, không có câu trả lời nào tốt hơn cho vấn đề này ngoài " kích hoạt tab Lỗi trước khi xây dựng ".

Và tôi cá rằng đó là lý do tại sao "khởi động lại VS" đôi khi hoạt động. Bạn thấy "tab Lỗi" trống, bạn đóng và mở lại VS, sau đó, "tab Lỗi" được hiển thị theo mặc định vì VS đã khôi phục tab đang hoạt động hiện tại từ phiên trước. Bạn xây dựng và bây giờ "tab Lỗi" được điền ...! Bạn vừa gặp may.

Lưu ý: Đã báo cáo lỗi VS: https://connect.microsoft.com/VisualStudio/feedback/details/3132689


Giải pháp này đã làm việc cho tôi. Nó đã xảy ra với tôi một lần - không có cảnh báo nào được hiển thị. Tôi đã mở cửa sổ Danh sách lỗi và xây dựng lại giải pháp. Các cảnh báo đã được hiển thị lần này. Tôi không thể tái tạo lại vấn đề tương tự ngay cả sau khi khởi động lại VS.
IAN

1

Đối với tôi, quá trình xây dựng không thành công mà không có lỗi, nhưng sau một số điều tra sơ bộ, tôi phát hiện ra rằng VS.

nhập mô tả hình ảnh ở đây

Hành vi xuất hiện sau khi cập nhật Windows 10. Để khắc phục, bạn cần đăng ký hợp ngữ từ GAC. Để biết cách thực hiện, hãy xem câu trả lời này MSHTML DLL trên Windows 10 , đó là nơi tôi tìm thấy câu trả lời của mình.


0

Lấy từ câu trả lời này

Biên dịch không thành công, không có lỗi nào được hiển thị trong cửa sổ đầu ra.

Để thử tìm lý do cho sự cố, tôi đã thay đổi Kết quả xây dựng trong VS: - menu "Công cụ - Tùy chọn" - từ bảng điều khiển bên trái: "Dự án và giải pháp: Xây dựng và chạy": - thay đổi "Độ dài đầu ra MSBuild" từ " Tối thiểu "đến" Chẩn đoán "

Sau khi làm điều đó, tôi đã tìm ra lý do thực sự là một sai lầm với các dự án phụ thuộc. Tôi dự án mà tôi phụ thuộc được xây dựng cho các khuôn khổ khác nhau (mới hơn) so với của tôi. Do đó tạo ra vấn đề. Các lỗi chỉ được loại trừ khi tôi đặt Chi tiết đầu ra để Chẩn đoán


Nó không chỉ là để tìm ra vấn đề mà còn là học cách khắc phục sự cố. Đây là lý do tại sao tôi đưa vào quy trình gỡ lỗi câu trả lời khác, bởi vì đó là điều đã giúp tôi tìm ra điều gì sai. Không chỉ là những phỏng đoán ngẫu nhiên về vấn đề có thể là gì
John Demetriou

0

Đối với tôi, đó là một tài sản gắn liền bất hảo. Vấn đề không nhất thiết là tôi không thể thấy lỗi; lỗi như sau:

Nút con "2" đã thoát sớm. Đang Tắt. Thông tin chẩn đoán có thể được tìm thấy trong các tệp trong thư mục tệp tạm thời có tên MSBuild _ *. Fail.txt.

Ban đầu, bản dựng sẽ bị treo và không hiển thị bất kỳ lỗi nào trừ khi bạn cố gắng đóng Visual Studio. Sau khi khởi động lại, nó sẽ bị treo trong một thời gian dài khi xây dựng, sau đó hiển thị thông báo trên.

Xóa ẩn .vs thư mục , giải pháp xây dựng lại / dọn dẹp và khởi động lại Visual Studio không hoạt động. Xóa tài sản đính kèm đã làm; ergo, nó có thể là mã thực tế ở đâu đó không hoạt động bình thường.

Phương án cuối cùng, tôi sẽ xóa từng thay đổi gần đây cho đến khi vấn đề được giải quyết vì không có giải pháp nào ở đây hữu ích.

Cập nhật

Bởi vì tôi đã quen với việc phát triển các ứng dụng WPF truyền thống, tôi không nhận ra rằng bạn không thể có không gian tên XAML "chuỗi" bằng cách sử dụng .s với UWP. Tôi đã cố gắng thiết lập một thuộc tính đính kèm bằng cách sử dụng

My.Namespace:SomeClass.SomeProperty="SomeValue"

Trong khi, nó chỉ nên

MyNamespace:SomeClass.SomeProperty="SomeValue"

Nó không đẹp như tôi thích, nhưng đó là con đường duy nhất để đi, dường như.


0

Điều gì đã làm việc cho tôi:

Đóng tất cả các tài liệu đã giải quyết được vấn đề cho tôi. (Giải pháp tương tự nếu intelliSense ngừng hoạt động)

(nhấp chuột phải vào tab - Đóng Tất cả Tài liệu)


0

Thử cái này

Loại trừ "mstscax.dll"khỏi Phụ thuộc đã làm việc cho tôi.


0

Vấn đề ngách: Tôi gặp phải vấn đề tương tự vừa rồi. Không có câu trả lời nào ở trên dường như hữu ích.

Vấn đề là đối với một chương trình Console, người ta không thể đánh dấu phương thức Main () là không đồng bộ **, đó là những gì tôi đang làm. Không chắc chắn, tại sao Visual Studio không thể chỉ định chính xác lý do tại sao dự án không được xây dựng (tôi nhận được 0 lỗi và 0 cảnh báo mỗi lần). Tôi đang sử dụng Visual Studio 2015 Enterprise.

Khắc phục: Công việc xung quanh cho điều đó là ở đây .


0

Sau khi cập nhật tệp dll, hóa ra tệp mới đang nhắm mục tiêu xác minh cao hơn của .NET Framework. Giải pháp là đi tới Thuộc tính dự án và thay đổi khung Mục tiêu thành phiên bản thích hợp.


0

MSBuild.exe được thay đổi trong thư mục (C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin)

vì vậy tôi chỉ cần thay thế MSBuild.exe từ máy tính khác có vs2015.

Bây giờ nó hoạt động tốt.


0

Tôi đã tìm thấy giải pháp bằng cách thay đổi .NET Framework từ 4.5.2 thành 4.0.

Vấn đề là do tham chiếu không tương thích với khung hiện được chọn.


0

Tôi vừa xóa bộ lọc của mình và nó phù hợp với tôi. Biểu tượng xóa tất cả bộ lọc ở gần hộp tin nhắn.


0

Bắt đầu một dự án mới. Sao chép tất cả mã của bạn vào bên dưới không gian tên ConsoleApp38450983450.

Dán vào dự án mới bên dưới không gian tên ScrewedUpConsoleApp102343

Xây dựng và chạy hoàn hảo


-1

Bạn nên đặt combobox ở bên phải dưới danh sách lỗi, trên 'Toàn bộ giải pháp' để xem tất cả các lỗi. nhập mô tả hình ảnh ở đây


1
Câu hỏi khá cũ này đã có một câu trả lời được chấp nhận, có vẻ như câu trả lời rất ngắn và không mô tả của bạn ở đây sẽ bổ sung nhiều cho nó. Ngoài ra, vui lòng không liên kết đến hình ảnh trên các trang web bên ngoài mà hãy thêm hình ảnh vào câu trả lời của bạn!
Dux
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.