Đã tìm thấy xung đột giữa các phiên bản khác nhau của cùng một tổ hợp phụ thuộc không thể giải quyết


371

Khi tôi dọn dẹp và sau đó xây dựng giải pháp của mình có một số dự án, cửa sổ đầu ra báo cáo rằng quá trình xây dựng đã thành công. Tuy nhiên, khi tôi xem Cửa sổ Danh sách Lỗi , nó hiển thị cho tôi cảnh báo này:

Tìm thấy xung đột giữa các phiên bản khác nhau của cùng một hội đồng phụ thuộc không thể giải quyết. Các xung đột tham chiếu này được liệt kê trong nhật ký xây dựng khi mức độ chi tiết của nhật ký được đặt thành chi tiết. C: \ Tệp chương trình (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CiverseVersion.target

Khi tôi bấm đúp vào thông báo này, nó sẽ mở tệp C: \ Program Files (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CiverseVersion.target nhưng tôi không hiểu gì về nó.

Tôi đang sử dụng Visual Studio Express 2013 cho Web.

Làm cách nào để tìm ra lỗi sai và với DLL nào và làm cách nào để cảnh báo biến mất?


2
Đồng thời xem ... stackoverflow.com/questions/1871073/
Kẻ

2
Tôi đã gửi đề xuất MS Connect để bao gồm tên DLL trong thông báo connect.microsoft.com/VisualStudio/feedback/details/2619450
Michael Freidgeim

Câu trả lời:


513

eta: Có một bài báo giết người về nội dung này bởi chính @Nick Craver của SO mà bạn nên đọc


Trong khi các phản hồi khác nói điều này, họ không nói rõ, vì vậy tôi sẽ ....

Trên VS2013.2, để thực sự kích hoạt sự phát tán thông tin được trích dẫn, bạn không cần phải đọc thông báo, có nội dung:

C. Các xung đột tham chiếu này được liệt kê trong nhật ký xây dựng khi mức độ chi tiết của nhật ký được đặt thành chi tiết .

Điều này là không chính xác (hoặc ít nhất là đối với một số phiên bản của Visual Studio - có vẻ như nó vẫn ổn trong bản cập nhật VS2015 3 trở lên). Thay vào đó, hãy chuyển nó sang Chẩn đoán (từ Công cụ-> Tùy chọn-> Dự án và Giải pháp-> Xây dựng và Chạy , đặt mức độ chi tiết đầu ra của dự án xây dựng dự án MSBuild ), trong đó, bạn sẽ thấy các thông báo như:

Có một cuộc xung đột giữa "Newtonsoft.Json, Version = 6.0.0.0, Culture = trung tính, PublicKeyToken = 30ad4fe6b2a6aeed" và "Newtonsoft.Json, Version = 6.0.5.17707, Culture = trung tính, PublicKeyToken = 30ad4fe6b2a6aeed".

  • "Newtonsoft.Json, Version = 6.0.0.0, Culture = trung tính, PublicKeyToken = 30ad4fe6b2a6aeed" đã được chọn vì nó là chính và "Newtonsoft.Json, Phiên bản = 6.0.5.17707, Culture = trung tính, PublicKeyToken = 30ad4fe6b2a6aeed".

Sau đó

  • Ctrl-Alt-O để đi đến cửa sổ Xây dựng đầu ra
  • tìm kiếm " đã được chọn " để tìm chi tiết.

... Và vâng, đối với những người nhìn vào chi tiết của thông báo [chẩn đoán], có tin cho kẻ ngu dốt này rằng có một quy ước trong thị trấn, theo đó tất cả các 6.xphiên bản, trong phiên bản lắp ráp nội bộ 6.0.0.0, tức là chỉ có thành phần SemVer Major đi vào hội Phiên bản :)


3
Cảm ơn - đã sử dụng Visual Studio trong nhiều năm và chưa bao giờ gặp sự cố cần phải đào sâu điều này trong nhật ký xây dựng. Vấn đề khác nhau nhưng nhận ra rằng thông tin mà tôi đang tìm kiếm đang được phát ra ở đâu đó đã giải quyết vấn đề của tôi.
Timothy Lee Russell

4
Mức nhật ký chi tiết dường như hoạt động bên trong VS (vì vậy không cần chẩn đoán). Sẽ không phải là lần đầu tiên mặc dù MSBuild hành xử khác bên trong VS ....
Johannes Rudolph

105
Để thay đổi mức độ chi tiết của nhật ký từ menu Công cụ-> Tùy chọn, sau đó tìm Dự án và Giải pháp-> Xây dựng và Chạy
Jenn

3
Trong trường hợp của tôi, tôi đã có ba xung đột và một trong số họ chịu trách nhiệm cho hai người kia. Tôi đã sao chép nhật ký xây dựng "chi tiết" của mình vào Notepad, tìm kiếm "xung đột", cập nhật gói NuGet cho tham chiếu mà tôi nhận ra và vấn đề đã được giải quyết.
Isaac Lyman

@robotnik Cảm ơn đề xuất chỉnh sửa [đã bị người khác từ chối]. Thực tế tôi đã bao gồm thông tin ở cuối câu trả lời nhưng hy vọng câu trả lời như hiện tại rõ ràng như bạn dự định.
Ruben Bartelink

76

Chạy msbuild Foo.sln /t:Rebuild /v:diag(từ C:\Program Files (x86)\MSBuild\12.0\bin) để xây dựng giải pháp của bạn từ dòng lệnh và nhận thêm một chút chi tiết, sau đó tìm .csproj.ghi nhật ký cảnh báo và kiểm tra các tham chiếu và tham chiếu của nó về các dự án khác sử dụng cùng một cụm khác nhau trong phiên bản.

Chỉnh sửa: Bạn cũng có thể đặt mức độ chi tiết của bản dựng trực tiếp trong VS2013. Chuyển đến trình đơn Tools> Optionssau đó đi đến Projects and Solutionsvà đặt độ dài của MSBuild thành Diagnostic.

Chỉnh sửa: Rất ít làm rõ khi tôi chỉ có một mình. Trong trường hợp của tôi, cảnh báo là do tôi thêm một tham chiếu bằng dấu nhắc Resharper trái ngược với hộp thoại Thêm tham chiếu, nó không có phiên bản mặc dù cả v4 và v12 đều có sẵn để chọn.

<Reference Include="Microsoft.Build, Version=12.0.0.0, ..." />
<Reference Include="Microsoft.Build.Framework" />

đấu với

<Reference Include="Microsoft.Build, Version=12.0.0.0, ..." />
<Reference Include="Microsoft.Build.Framework, Version=12.0.0.0, ..." />

Trong nhật ký MSBuild với /v:diagtính dài dòng, nó trông giống như sau. đưa ra chi tiết hai tài liệu tham khảo mâu thuẫn: -

  There was a conflict between 
  "Microsoft.Build.Framework, Version=4.0.0.0, ..." and 
  "Microsoft.Build.Framework, Version=12.0.0.0, ...". (TaskId:16)

      "Microsoft.Build.Framework, Version=4.0.0.0, ..." was chosen because it was primary and 
      "Microsoft.Build.Framework, Version=12.0.0.0, ..." was not. (TaskId:16)

      References which depend on "Microsoft.Build.Framework, Version=4.0.0.0, ..." 
      [C:\...\v4.5.1\Microsoft.Build.Framework.dll]. (TaskId:16)

          C:\...\v4.5.1\Microsoft.Build.Framework.dll (TaskId:16)
            Project file item includes which caused reference "C:\...\v4.5.1\Microsoft.Build.Framework.dll". (TaskId:16)
              Microsoft.Build.Framework (TaskId:16)

      References which depend on "Microsoft.Build.Framework, Version=12.0.0.0, ..." 
      [C:\...\v12.0\Microsoft.Build.Framework.dll]. (TaskId:16)

          C:\...\v12.0\Microsoft.Build.dll (TaskId:16)
            Project file item includes which caused reference "C:\...\v12.0\Microsoft.Build.dll". (TaskId:16)
              Microsoft.Build, Version=12.0.0.0, ... (TaskId:16)

          C:\...\v12.0\Microsoft.Build.Engine.dll (TaskId:16)
            Project file item includes which caused reference "C:\...\v12.0\Microsoft.Build.Engine.dll". (TaskId:16)
              Microsoft.Build, Version=12.0.0.0, ... (TaskId:16)

C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3277: 
Found conflicts between different versions of the same dependent assembly that could not be resolved.  
These reference conflicts are listed in the build log when log verbosity is set to detailed. 
[C:\Users\Ilya.Kozhevnikov\Dropbox\BuildTree\BuildTree\BuildTree.csproj]

10
Tôi đã kết thúc đường ống lệnh đó đến một tệp nhật ký, vì vậy tôi có thể xem qua nó dễ dàng hơn:msbuild "Foo.sln" /t:Rebuild /v:d > build.log
CrazyPyro

2
Cách tốt nhất để đến thiết bị đầu cuối cho việc này: stackoverflow.com/a/22702405/268066
CrazyPyro

@CrazyPyro msbuild có một đường ống "tích hợp" - /l:FileLogger,Microsoft.Build.Engine;logfile=build.log- lưu ý các công tắc để giải thích loggers tại đây
drzaus

3
"Nhật ký xây dựng" nằm ở đâu? Làm thế nào để tôi tìm thấy nó?
Tù nhân ZERO

Câu trả lời này cho thấy làm thế nào để có thêm thông tin chi tiết từ msbuild, đó là điều mà một người dùng đơn sắc quan tâm. Tất cả các câu trả lời khác cho rằng bạn đang sử dụng VS và chạy trong môi trường Windows.
Vô điều kiệnReinstateMonica

39

Tôi chỉ có thể hỗ trợ thêm câu trả lời của Ruben với sự so sánh giữa hai thông báo được hiển thị:

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

và tin nhắn:

C: \ Chương trình tệp (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CiverseVersion.t Target (1697,5): cảnh báo MSB3277: Không thể giải quyết xung đột giữa các phiên bản khác nhau của cùng một tổ hợp phụ thuộc. Các xung đột tham chiếu này được liệt kê trong nhật ký xây dựng khi mức độ chi tiết của nhật ký được đặt thành chi tiết .

Vì vậy, Ruben đúng là điều này không đúng. Không có xung đột nào, chỉ là một hội đồng mất tích. Điều này đặc biệt nhàm chán khi dự án là một ứng dụng ASP.NET, vì các khung nhìn được biên dịch theo yêu cầu , nghĩa là, ngay trước khi hiển thị lần đầu tiên. Đây là khi nó trở nên cần thiết để có sẵn lắp ráp. (Có một tùy chọn để biên dịch trước các khung nhìn cùng với phần còn lại của mã, nhưng đây là một câu chuyện khác .) Mặt khác, nếu bạn đặt mức độ chi tiết thành Chẩn đoán, bạn sẽ nhận được kết quả sau:

C: \ Chương trình tệp (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CiverseVersion.t Target (1697,5): cảnh báo MSB3245: Không thể giải quyết tham chiếu này. Không thể xác định vị trí lắp ráp "System.Web.Razor, Version = 3.0.0.0, Culture = trung tính, PublicKeyToken = 31bf3856ad364e35, bộ xử lýArch architecture = MSIL". Kiểm tra sự chắc chắn nếu muốn thoát khỏi ổ đĩa. Nếu tham chiếu này được yêu cầu bởi mã của bạn, bạn có thể gặp lỗi biên dịch.

Kết quả là, tất cả những gì bạn cần làm là:

  1. Thêm một tham chiếu đến tổ hợp theo cách thủ công (định vị nó trên đĩa, có thể là GAC và thêm nó dưới dạng tham chiếu "trực tiếp") hoặc
  2. Sử dụng gói NuGet (nếu được xuất bản trong bộ sưu tập) để tải xuống và tham chiếu lắp ráp có trong nó.

Thêm thông tin về bộ sưu tập NuGet tại đây . Thông tin thêm về tiền biên dịch lượt xem ASP.NET tại đây .


Trong VS 2017, khi tôi đặt "Độ dài đầu ra của dự án xây dựng dự án MSBuild" (không phải tệp nhật ký) thành Chi tiết (không phải Chẩn đoán), tôi đã gặp lỗi "Không thể xác định vị trí lắp ráp" trong cửa sổ Đầu ra của mình.
ALEXintlsos

@ALEXintlsos: rõ ràng chức năng này đã thay đổi; vẫn là bạn có lỗi ở bất cứ đâu - làm theo hướng dẫn để thoát khỏi nó.
Alexander Christov

22

Thay đổi độ dài của bản dựng trong studio trực quan sẽ giúp chỉ ra đúng hướng. Thực hiện theo các bước dưới đây để thay đổi mức độ chi tiết trong VS

  1. Chuyển đến Công cụ-> Tùy chọn menu trong VS
  2. Mở dự án và giải pháp-> Xây dựng và chạy
  3. Thay đổi giá trị của độ dài đầu ra của dự án xây dựng dự án MSBuild. Chọn một từ Quiet, Minimal, Normal, DetailedDiagnostic

Kiểm tra cửa sổ đầu ra ( Ctrl+ Alt+ O) trong VS để xem những thay đổi trong nhật ký xây dựng.


16

và làm thế nào để tôi làm cho cảnh báo biến mất?

Bạn có thể sẽ phải cài đặt lại hoặc nâng cấp các gói NuGet của mình để khắc phục điều này.


2
Điều này, với sự kết hợp khởi động lại Visual Studio khi nó từ chối cài đặt lại một gói đúng cách, đã giải quyết vấn đề cho tôi.
Ohad Schneider

22
Cách đơn giản nhất để kiểm tra: Nhấp chuột phải vào giải pháp -> Manage NuGet packages for solution-> Dưới đây Consolidatebạn có thể xem liệu có các phiên bản khác nhau của cùng một gói đã được cài đặt hay không
elshev

16

Lặp lại một trong những nhận xét từ @elshev Nhấp chuột phải vào giải pháp -> Quản lý các gói NuGet cho giải pháp -> Trong phần Hợp nhất, bạn có thể xem liệu có các phiên bản khác nhau của cùng một gói đã được cài đặt hay không. Cập nhật các gói ở đó. Các lỗi xung đột được giải quyết.


1
Điều này đã không giải quyết cho tôi. Tôi đã phải gỡ cài đặt Newtonsoft.JSON và cài đặt lại thông qua NuGet. Điều này phụ thuộc cập nhật vào các gói khác.
Garr Godfrey

Điều này cũng xảy ra với tôi khi sử dụng các công cụ như Resharper, tự động thêm các tham chiếu bị thiếu của DLL. "Luôn luôn thêm bằng cách sử dụng nuget" có thể là một gợi ý tốt ở đây.
Shaswat Rungta

Nó không hoạt động đối với tôi bởi vì để gỡ cài đặt một gói, nó cố gắng xây dựng không thể xảy ra vì có xung đột các gói. Vì vậy, tôi thậm chí không thể cài đặt lại gói :(
nickornotto 29/03/18

8

Tôi đang sử dụng Visual Studio 2017 và gặp phải điều này khi tôi cập nhật một số gói Nuget. Điều làm việc cho tôi là mở web.configtệp của tôi và tìm <runtime><assemblyBinding>nút và xóa nó. Lưu web.configvà xây dựng lại dự án.

Nhìn vào Error Listcửa sổ. Bạn sẽ thấy những gì trông giống như một cảnh báo ồ ạt về xung đột ràng buộc. Nhấp đúp vào nó và nó sẽ tự động tạo lại <runtime><assemblyBinding>khối với ánh xạ chính xác.


6

Như đã nêu trong dotnet CLI, số 6583 , vấn đề cần được giải quyết bằng dotnet nuget locals --clear alllệnh.


1
Điều này đã không làm việc cho tôi; tình hình vẫn như vậy sau khi chạy lệnh.
Zimano

3

Tôi có thể giải quyết cài đặt Newtonsoft Json này trong dự án web bằng các gói nugget


3

Rõ ràng có rất nhiều nguyên nhân khác nhau và do đó có rất nhiều giải pháp cho vấn đề này. Để đưa tôi vào hỗn hợp, chúng tôi đã nâng cấp một hội đồng (System.Net.Http) mà trước đây được tham chiếu trực tiếp trong dự án Web của chúng tôi thành phiên bản do NuGet quản lý. Điều này đã loại bỏ tham chiếu trực tiếp trong dự án đó, nhưng dự án Thử nghiệm của chúng tôi vẫn chứa tham chiếu trực tiếp. Nâng cấp cả hai dự án để sử dụng lắp ráp do NuGet quản lý đã giải quyết vấn đề.


2

Nếu bạn thực hiện bất kỳ thay đổi nào đối với các gói - mở lại sln. Điều này làm việc cho tôi!


1

Tôi thấy rằng, đôi khi, các gói nuget sẽ cài đặt (những gì tôi đoán là) Các thành phần bắt buộc của .NET Core hoặc các mục khác xung đột với khung đã được cài đặt. Giải pháp của tôi là mở tệp dự án (.csproj) và xóa các tham chiếu đó. Ví dụ: System.IO, System.Threading và như vậy, có xu hướng được thêm vào khi Microsoft.Bcl được bao gồm thông qua một số gói NuGet được cài đặt gần đây. Không có lý do cho các phiên bản cụ thể của các dự án trong các dự án của tôi, vì vậy tôi xóa các tham chiếu và các bản dựng dự án. Mong rằng sẽ giúp.

Bạn có thể tìm kiếm tệp dự án của bạn để "tham khảo" và loại bỏ các xung đột. Nếu chúng được bao gồm trong Hệ thống, hãy loại bỏ chúng và bản dựng sẽ hoạt động. Điều này có thể không trả lời tất cả các trường hợp của vấn đề này - Tôi chắc chắn rằng bạn biết những gì đã làm việc cho tôi :)

Ví dụ về những gì tôi nhận xét:

<!-- <Reference Include="System.Runtime, Version=2.6.9.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> -->
  <!-- <HintPath>$(SolutionDir)packages\Microsoft.Bcl.1.1.9\lib\net40\System.Runtime.dll</HintPath> -->
  <!-- <Private>True</Private> -->
<!-- </Reference> -->


1

Tôi đã làm theo lời khuyên của một số câu trả lời ở đây để tìm ra điều gì sai, nhưng không có câu trả lời nào có vẻ giải thích cách khắc phục nó. Vấn đề của tôi là một tài liệu tham khảo yêu cầu một phiên bản khác của tài liệu tham khảo thứ hai. Vì vậy, Newtonsoft đã ở phiên bản 6, nhưng một số DLL khác muốn 4.5. Sau đó, tôi đã nâng cấp Newtonsoft như một trong những câu trả lời khác được đề xuất và điều đó làm mọi thứ tồi tệ hơn.

Vì vậy, tôi thực sự đã hạ cấp cài đặt Newtonsoft của mình và cảnh báo đã biến mất (VS 2017):

Nhấp chuột phải vào Tài liệu tham khảo trong trình khám phá giải pháp và chọn Quản lý gói NuGet ... Trong tab "Đã cài đặt", tìm Newtonsoft (hoặc bất kể xung đột của bạn là gì) Ở bên phải, một danh sách thả xuống bên cạnh "Phiên bản" mà bạn có thể thay đổi thành cũ hơn phiên bản. Tôi thấy rõ ràng rằng việc thả xuống này có thể được sử dụng để hạ cấp.


1

Bạn có thể chạy Dotnet CLI với độ dài chẩn đoán đầy đủ để giúp tìm ra vấn đề.

dotnet run --verbosity diagnostic >> full_build.log

Khi quá trình xây dựng hoàn tất, bạn có thể tìm kiếm thông qua tệp nhật ký (full_build.log) để tìm lỗi. Tìm kiếm "một cuộc xung đột" chẳng hạn, sẽ đưa bạn đến đúng vấn đề.


0

Tôi đã gỡ cài đặt Microsoft ASP.NET MVC nuget.org khỏi quản lý NuGet Packagaes và cài đặt lại nó. Trong khi cài đặt lại, nó đã giải quyết tất cả các xung đột liên quan đến phiên bản dao cạo. Thử nó .


0

Tôi đã thay đổi mức độ chi tiết của MSBuild thành Chẩn đoán. Nhưng không thể tìm thấy vấn đề ở đâu nên theo các câu trả lời ở trên, tôi có mã này trong app.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="XbimXplorer.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>

Vì vậy, tôi chỉ thay đổi Hệ thống, Phiên bản đầu tiên từ 4.0.0.0 thành 12.0.0.0 và dự án của tôi đã hoạt động.


0

Theo các câu trả lời khác, đặt mức ghi nhật ký đầu ra thành chi tiết và tìm kiếm xung đột ở đó, điều đó sẽ cho bạn biết nơi cần tìm tiếp theo.

Trong trường hợp của tôi, nó đã gửi cho tôi theo một vài hướng để tìm nguồn tài liệu tham khảo, nhưng cuối cùng, vấn đề là một trong những dự án thư viện lớp di động của tôi, nó đã nhắm mục tiêu sai phiên bản và đang tự rút ra phiên bản của các tài liệu tham khảo trong, do đó các xung đột. Một mục tiêu lại nhanh chóng và vấn đề đã được giải quyết.


0

Tôi chỉ gặp phải vấn đề này và vấn đề sau khi chuyển một gói từ nuget sang các dll tham chiếu cục bộ. Vấn đề là công cụ ràng buộc thời gian chạy cũ trong app.config.


0

Tôi đã có cảnh báo này sau khi chuyển sang Gói tham khảo. Trong đầu ra chẩn đoán có thông tin rằng thư viện được tham chiếu bởi chính thư viện đó. Nó có thể là một lỗi của Gói tham chiếu mới. Giải pháp là kích hoạt AutoGenerateBindingRedirects và xóa chuyển hướng ràng buộc tùy chỉnh.


0

Dự án VS 2017, MVC

Tôi không biết tại sao, nhưng đối với tôi, giải pháp cho vấn đề này là xóa một outtham số khỏi chữ ký phương thức mô hình được gọi từ phương thức hành động của bộ điều khiển. đó là hành vi rất lạ nhưng đó là giải pháp cho vấn đề của tôi.


-2

Chạy Update-Packagelệnh thông qua Bảng điều khiển quản lý gói

Điều này sẽ sửa lỗi MSB3277, nó cài đặt lại tất cả các gói và tất cả các hội đồng liên quan mà chúng đi kèm với phiên bản cao nhất có thể . Nó cũng có thể cập nhật chỉ gói cụ thể. Hoặc hạ cấp sau khi cập nhật nếu muốn, vấn đề cố định này đối với tôi vài lần nó đã xuất hiện. Tùy thuộc vào số lượng gói nuget bạn có, quá trình này có thể mất vài phút.

Thông tin thêm về tài liệu chính thức https://docs.microsoft.com/en-us/nuget/consume-packages/reinstalling-and-updating-packages


14
Lời khuyên này có thể làm hỏng ngày của bạn nếu bạn không muốn các gói mới nhất thường xảy ra đối với mã sản xuất.
Tony O'Hagan

1
Điều này được chỉ ra trong lời khuyên và những gì có thể là vấn đề đối với bạn, là cách an toàn và dễ dàng để khắc phục sự cố, vì vậy vui lòng không đánh giá thấp mọi người theo quan điểm của riêng bạn.
Aistis Taraskevicius

1
Giải pháp này không hiệu quả với tôi. Tôi đã có tất cả các phiên bản mới nhất.
Zero3

@ Zero3 bạn đã chạy nó từ giải pháp hàng đầu của mình, mà không chỉ định trực tiếp bất kỳ gói nào, nó thường hoạt động, bởi vì nó cài đặt lại từng cái một và cập nhật các tài liệu tham khảo, đó là nguyên nhân gây ra
lỗi sai

3
Đây thực sự là lời khuyên khủng khiếp. Đó không phải là ý kiến, việc cập nhật các gói phá vỡ mã nếu không được thực hiện với mục đích.
TheBatman
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.