2016-11-19 45 views
6

tôi nhận được thông báo sau khi tôi cố gắng và xuất bản:xuất bản với Visual Studio 2017 MVC ASP.NET Core "Họ phải có cùng một số mặt hàng"

Severity Code Description Project File Line Suppression State

Error "DestinationFiles" refers to 1 item(s), and "SourceFiles" refers to 2 item(s). They must have the same number of items.

Tôi có dự án của tôi làm việc trên localhost của tôi và Tôi hiện đang tìm cách xuất bản ... nhưng tôi nhận được lỗi ở trên. Tôi đã chuyển đổi dự án của mình từ VS 2015 và Publishing đã hoạt động tốt. Chỉ để đảm bảo Hồ sơ xuất bản cũ của tôi không phải là vấn đề, tôi đã xóa bản sao làm việc cũ của mình trong Tiểu sử của mình và thiết lập một hồ sơ mới. Tôi biết rằng VS 2017 vừa được phát hành cách đây vài ngày, mọi sự giúp đỡ sẽ rất tuyệt vời.

Trả lời

3

Tôi nghĩ rằng có một lỗi trong tệp Microsoft.NET.Publish.targets.

Tôi đã thay đổi dòng DestinationFiles (dòng 99 và 127) như dưới đây, và bây giờ nó hoạt động

<Copy SourceFiles = "@(_ResolvedFileToPublishAlways)" 
     DestinationFiles="@(_ResolvedFileToPublishAlways -> '$(PublishDir)%(RelativePath)')" 
     OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" 
     Retries="$(CopyRetryCount)" 
     RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" 
     UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" 
     UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)"> 
+0

Cảm ơn rất nhiều !!! –

3

Đây là một lỗi đã biết và được nhắc đến trong các tài liệu vấn đề VS2017 RC Tooling biết:

Unable to publish

Unable to publish ASP.NET Core Web Application (.NET Framework)

  • Issue:

If you try to publish an ASP.NET Core Web Application (.NET Framework), you will run into the following error: "DestinationFiles" refers to 1 item(s), and "SourceFiles" refers to 2 item(s). They must have the same number of items

  • Workaround:

None available

https://github.com/aspnet/Tooling/blob/master/known-issues-vs2017.md

Nhìn lại sau để xem có cách giải quyết khác không.

Chỉnh sửa "Microsoft.NET.Publish.targets" trong thư mục "C: \ Program Files \ dotnet \ sdk \ 1.0.0-preview4-004233 \ Sdks \ Microsoft.NET.Sdk \ build" không hoạt động cho tôi mặc dù.

+0

Tôi đã tạo một dự án trong VS2015. Đã có thể xuất bản từ đó. Chuyển đổi nó thành VS2017. Đã có thể xuất bản từ VS2017. Sau một ngày phát triển, tôi đã cố gắng xuất bản lại từ VS2017 và không hoạt động nữa khi nhận được lỗi được chỉ định ở trên. Vì vậy, có vẻ như điều này cũng có thể xảy ra. –

0

Lỗi đó đã được sửa trong sdk lõi dotnet mới nhất, trong trường hợp của tôi là phiên bản 1.0.0-rc4-004578 mới nhất.
Thật không may trong các bản phát hành mới, họ đã quyết định rằng tệp .csproj không cần ngay cả các mẫu biên dịch và tài nguyên mặc định trong đó, nó sẽ được bao gồm bởi các tác vụ msbuild mặc định.
Vì vậy, nếu chúng được bao gồm trong tệp .csproj của bạn, bạn sẽ không thể biên dịch bằng rc4.

Vì vậy, đây là các bước/thay đổi mà thực hiện công việc cho tôi:

  • tải về và cài đặt DotNet sdk rc4 hoặc cao hơn từ [https://github.com/dotnet/cli]
  • thêm vào cho bạn giải pháp/dự án thư mục global.json với nhắm vào lõi dotnet mới, trong trường hợp của tôi: { "sdk": { "version": "1.0.0-rc4-004578" } }
  • mở tệp .csproj và chỉnh sửa (bây giờ bạn có thể trực tiếp trong VS 2017); thêm điều kiện cấu hình gỡ lỗi để mặc định của nhóm mẫu vật

    <ItemGroup Condition=" '$(Configuration)' == 'Debug' "> <Compile Include="**\*.cs" /> <EmbeddedResource Include="**\*.resx" /> </ItemGroup>

  • đảm bảo bạn đang sử dụng bên phải (mới) DotNet sdk:

    dotnet --versoin

  • xuất bản bạn porject với thiết phát hành

    cấu hình

    dotnet publish PATH\MyPorject.csproj -c Release -o OUT_DIR

Lưu ý rằng chúng tôi đã lưu phần bằng các mẫu biên dịch mặc định.csproj tập tin nhưng với điều kiện cấu hình gỡ lỗi, đó là cần thiết, nếu bạn muốn giữ cho bạn dự án biên dịch và chạy trong VS 2017 RC, được sử dụng dotnet sdk preview4.
Chỉ cần nhớ rằng cấu hình hoạt động của bạn trong đó phải Gỡ lỗi.

Bạn có thể tìm thấy một số chi tiết khác về vấn đề được thảo luận tại đây theo chủ đề nhóm dotnet tại [https://github.com/dotnet/cli/issues/4759#issuecomment-274904448]

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