2015-08-02 25 views
19

Tôi đã cập nhật trình quản lý gói Nuget lên phiên bản 3.1.1.0. Sau khi cập nhật mở bất kỳ dự án nào cho tôi thông báo lỗi: bản sao-item: không thể tìm thấy đường dẫn 'c: \ users {username} \ documents \ visual studio 2015 \ projects {project name} \ packages \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform .1.0.0 \ tools \ lib \ net45 'bởi vì nó không tồn tại ..... trong tệp init.ps1Cập nhật trình quản lý gói Nuget 3.1.1.0 bị hỏng

Tôi tìm thấy biến $ installpath được gán cho init.ps1 khác với nuget cũ đến thực tế ngoài được thêm vào \ tên thư mục con công cụ, rõ ràng là sai và đưa ra lỗi.

Làm cách nào tôi có thể ảnh hưởng đến thông số $ installpath này hoặc hạ cấp nuget xuống 3.1.0?

Tôi kiểm tra kỹ hành vi này cũng trong vm được cài đặt mới với cùng một kết quả, VS đã cài đặt -> ok, cập nhật lên nuget 3.1.1 -> bị hỏng.

Môi trường: Windows 10 Đức, Visual Studio 2015 Community Edition English

+1

Tôi sẽ mở một vấn đề trên trang web [NuGet's GitHub] (https://github.com/nuget/home) về sự cố bạn đang gặp phải. –

+0

Đã mở một sự cố trên GitHub: https://github.com/NuGet/Home/issues/1125#issuecomment-128503074. –

Trả lời

20

Tôi đã nhận lỗi giống như tốt (như sau):

Copy-Item : Cannot find path 'C:\Development\GitHub\pd-tech-demo\backend\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\tools\lib\net45' because it does not exist. 
At C:\Development\GitHub\pd-tech-demo\backend\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\tools\init.ps1:23 char:1 
+ Copy-Item $libDirectory\* $binDirectory | Out-Null 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+ CategoryInfo   : ObjectNotFound: (C:\Development\...tools\lib\net45:String) [Copy-Item], ItemNotFoundException 
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.CopyItemCommand 

tôi đã thay đổi dòng 10 của init.ps1 từ:

$libDirectory = Join-Path $installPath 'lib\net45' 

tới:

$libDirectory = Join-Path $installPath '..\lib\net45' 

để khắc phục sự cố (chỉ cho đến khi bạn khôi phục lại gói và bạn nhận được phiên bản bị hỏng).

Bản sửa lỗi thực sự dành cho các nhà duy trì gói để cập nhật bản sao của init.ps1. Tôi sẽ theo dõi và xem liệu chúng ta có thể làm được điều đó không. :)

+0

https://github.com/dotnet/roslyn/issues/4352#issuecomment-128083219 –

+0

Đây là lỗi trong NuGet, xem nhận xét của tôi bên dưới –

0

Tôi cũng gặp lỗi này. Thay đổi dòng 10 của init.ps1 tới: này đã không làm việc:

$libDirectory = Join-Path $installPath '..\lib\net45' 

này công việc đã làm:

$libDirectory = Join-Path $installPath '\lib\net45' 
2

Vấn đề này được theo dõi bởi https://github.com/NuGet/Home/issues/1125 chúng tôi cũng đang làm việc với chủ sở hữu gói để xem anh ta có thể di chuyển bằng init.ps1 để thiết lập dự án. Quá trình này không tuân theo hướng dẫn của NuGet, nhưng chúng tôi không chắc liệu có cách giải quyết nào không.

+2

và bản sửa lỗi đang trong chuyến bay, nó sẽ là một phần của bản phát hành 3.1.2 –

2

Tôi gặp lỗi tương tự trong Bảng điều khiển trình quản lý gói và cuối cùng tìm thấy chuỗi này.

Khi thông báo lỗi cho biết, các gói ... \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0 \ tools \ lib \ net45 thư mục bị thiếu do đó vấn đề.

Thư mục "lib" được tạo trực tiếp trong thư mục "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0" vì một số lý do? Khi tôi di chuyển thư mục "lib" vào "công cụ" thư mục, khởi động lại VS, thông báo lỗi biến mất.

21

Không chắc chắn nếu điều này sẽ giúp những người khác, nhưng tôi đã nhận được lỗi chính xác tương tự trên VS2015 với Microsoft.CodeDom.Providers.DotNetCompilerPlatform và những gì cố định nó đối với tôi là phải làm như sau trong Package Manager Console:

Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform 

Sau đó, sau khi tiết kiệm, đóng và mở lại VS, không có nhiều lỗi. Không cần chỉnh sửa bất kỳ tệp ps1 nào cho tôi.

FWIW.

+0

Tôi đã bỏ lỡ thư mục gói mà nó đang nói đến. Điều này xảy ra sau khi một lực lượng đóng và phục hồi tài liệu vì vậy giải pháp của @ Thom Thomson đã không làm việc cho tôi nhưng điều này đã làm. –

+3

Điều này làm việc cho tôi (trong VS 2015), cũng như –

+1

'DotNetCompilerPlatform.1.0.2' đã sửa nó cho tôi, đã tham chiếu' DotNetCompilerPlatform.1.0.0' trong VS 2015. Lỗi tôi đã nhận: _Join-Path: Không thể chuyển đổi 'System.Object []' vào loại 'System.String' được yêu cầu bởi tham số 'ChildPath'. Chỉ định phương thức không được hỗ trợ.at .... init.ps1: 13 char: 57_, cũng _Join-Path: Không thể liên kết đối số với tham số 'Đường dẫn' vì nó là null ... tại init.ps1: 14 char: 44_ – SliverNinja

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