2016-07-22 12 views
12

Tôi đang cố gắng xây dựng giải pháp của mình bằng TeamCity/MSBuild. Đây là dự án WebAPI chia sẻ một số thực thể trong PCL với ứng dụng khách di động.lỗi APPX3212: Không thể định vị thư mục gốc SDK cho 'Portable 7.0'

tôi thấy có một vài hãy cẩn thận xung quanh nhận được các thư viện tham khảo PCL được cài đặt trên một buildserver, mà tôi nghĩ rằng tôi đã sắp xếp (Building Portable Class Library Project in build server fails)

Tuy nhiên, tôi nhận được một lỗi trong quá trình xây dựng của thư viện lớp di động như sau:

[11:20:49][Doctrina.Pcl.Entities\Doctrina.Pcl.Entities.csproj] _GetSdkToolPaths [11:20:49][_GetSdkToolPaths] GetSdkPropertyValue *[11:20:49][GetSdkPropertyValue] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets(975, 5): error APPX3212: SDK root folder for 'Portable 7.0' cannot be located. See http://go.microsoft.com/fwlink/?prd=12560&pver=1.0&plcid=0x409&ar=MSDN&sar=PlatformMultiTargeting&o1=Portable&o2=7.0 for more information.*

"trợ giúp" liên kết không đi bất cứ nơi nào hữu ích và nó có vẻ là rất google chịu về việc tìm kiếm bất kỳ độ phân giải.

Tôi chưa cài đặt Visual Studio 2015 trên máy chủ xây dựng, nhưng tôi đã cài đặt các công cụ PortableClassLibrary, sao chép thư mục tham chiếu từ máy tính cục bộ của tôi qua, v.v ... theo câu hỏi SO liên quan khác.

Trợ giúp xin vui lòng?

+0

OK. Tôi đã giải quyết lỗi này bằng cách cài đặt "VS2015 Community Edition" trên máy chủ xây dựng của tôi, vì vậy rõ ràng là một cái gì đó Xamarin-y là một phần của VS cài đặt, nhưng không được cài đặt bởi các công cụ PCL. có ai biết nó là cái gì không? –

+1

cài đặt âm thanh VS2015 CE rất khắc nghiệt. Tôi đang gặp vấn đề tương tự tại thời điểm này. Muốn có ai đó quản lý. - Thêm một tiền thưởng ... có lẽ điều này sẽ nhận được một số sự chú ý bây giờ :) –

+0

Bạn đã kiểm tra câu trả lời này - http://stackoverflow.com/a/19385710/1824367 Tôi đã có một vấn đề tương tự và kết thúc giải quyết nó với một tương tự dung dịch. – mattferderer

Trả lời

4

Tôi gặp phải lỗi này khi cố xây dựng các dự án di động nhắm mục tiêu tiêu chuẩn .NET.

tôi quản lý để giải quyết nó mà không cần cài đặt Visual Studio trên xây dựng máy chủ của tôi, bằng cách sao chép từ một máy tính mà không có Visual Studio cài đặt:

  • C: \ Program Files (x86) \ Microsoft SDK \ xách tay \ v14.0
  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ xách tay
  • C: \ Program Files (x86) \ ReferenceAssemblies \ Microsoft \ Framework.NETPortable

sau, tôi đã cố gắng để xây dựng một WebApi nhắm mục tiêu dự án .NET Core (đây là tệp xproj) và ngay sau khi tôi thêm tệp XProj vào giải pháp của mình, tôi cũng phải sao chép:

  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ DotNet
  • C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ DotNet.Web

đó đã cho tôi một chút nữa nhưng nó cũng gây ra khác các dự án ngừng xây dựng đúng cách (hoạt động tốt mà không có tệp XProj trong giải pháp). Một điều tôi nhận thấy, công cụ NuGet cho .NET Core không hỗ trợ nguồn cấp dữ liệu NuGet xác thực, vì vậy tôi phải bật quyền truy cập ẩn danh trên nguồn cấp dữ liệu của mình. Nhưng bây giờ dự án .NET Standard của tôi không thành công với lỗi MSB4057: Mục tiêu "_GenerateDependencyFragmentJson" không tồn tại trong dự án.

Tôi chưa khám phá được điều này, nhưng tôi hy vọng thông tin trên sẽ giúp người khác. Nếu bạn không sử dụng các tệp xproj và chỉ cần cố gắng sử dụng các dự án .NET Standard, thì ở trên tất cả những gì bạn cần phải xây dựng mà không cần cài đặt Visual Studio.

Chỉ cần một lưu ý phụ, tôi đã cố gắng hết sức để tránh phải sao chép các tệp này trước tiên bằng cách cài đặt Microsoft Build Tools 2015 Update 3, hy vọng nó sẽ đặt các tệp cần thiết tại chỗ, nhưng nó không đáng buồn.Tôi đang ghim hy vọng của mình vào phiên bản tiếp theo của MSBuild đang được sử dụng trong VS15 và hy vọng rằng gói công cụ xây dựng sẽ có mọi thứ cần thiết để xây dựng công cụ này khi nó xuất hiện, vì dường như họ không cập nhật Công cụ xây dựng 2015 với sự hỗ trợ này.

+0

Tôi đang chạy vào cùng một 'MSB4057: Mục tiêu "_GenerateDependencyFragmentJson" không tồn tại trong dự án.' Bạn đã thực sự quản lý để chẩn đoán điều này? Cho đến nay giải pháp duy nhất tôi đã nhìn thấy trực tuyến nhưng chưa thử nghiệm được thực sự cài đặt VS2015 trên máy chủ xây dựng ... Một cái gì đó tôi muốn tránh khá nhiều. –

+0

Thật không may là tôi không có thời gian để chẩn đoán thêm vấn đề này. Tôi chắc chắn sẽ có một cách để tránh cài đặt VS2015 trên máy chủ, nhưng nó đòi hỏi phải đi qua các mục tiêu MSBuild với một chiếc lược có răng để tìm ra rằng nó tham chiếu không có trên máy chủ xây dựng và cần phải sao chép theo cách thủ công ở đó. Đó là cách tôi tìm thấy những thứ tôi đã đề cập trong câu trả lời của tôi. –

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