Visual Studio 2012 Web Publish không sao chép tập tin


229

Tôi có một dự án Ứng dụng web trong VS 2012 và khi tôi sử dụng công cụ xuất bản web, nó xây dựng thành công nhưng không sao chép bất kỳ tệp nào vào mục tiêu xuất bản (Hệ thống tệp trong trường hợp này).

Nếu tôi nhìn vào đầu ra của bản dựng, tôi có thể thấy mọi thứ được sao chép vào obj \ Release \ Package \ PackageTmp \ một cách chính xác nhưng tất cả những gì tôi thấy trong đầu ra của bản dựng là:

4> Dự án xây dựng đã hoàn thành "{Project} .csproj".
4> Xóa các tệp hiện có ...
4> Xuất bản thư mục / ...
4> ========== Build: 3 đã thành công, 0 thất bại, 1 cập nhật, 0 bị bỏ qua ===== =====
========== Xuất bản: 1 thành công, 0 thất bại, 0 bỏ qua ==========

Mặc dù nó nói rằng việc xuất bản đã thành công nhưng không có tệp nào trong thư mục đích để xuất bản.

Tôi đã thấy điều này trong nhiều dự án và đôi khi có vẻ như các cấu hình Giải pháp / Nền tảng gây ra sự cố này nhưng tôi chưa thể xác định chính xác nguyên nhân cho việc này.

Có ai khác thấy điều này xảy ra hoặc có một ý tưởng về cách làm cho điều này hoạt động chính xác?

CẬP NHẬT:

Tôi có thể đã tìm thấy một cách giải quyết cho việc này. Tôi chỉ có điều này xảy ra một lần nữa và tôi đã loay hoay với các cài đặt xuất bản. Khi tôi thay đổi Cấu hình đã chọn trên tab Cài đặt sang cấu hình khác và sau đó quay lại cấu hình tôi muốn sử dụng, tất cả các tệp của tôi bắt đầu xuất bản lại. Hy vọng điều này hoạt động trên các dự án khác trong tương lai.

CẬP NHẬT 2:

Tôi đã đăng một lỗi trên Microsoft Connect và nghe lại từ một nhà phát triển trong nhóm Nhà phát triển web VS. Ông cho biết họ đã khắc phục vấn đề này trong các bản dựng nội bộ của mình và sẽ sớm phát hành bản cập nhật cho công cụ xuất bản để khắc phục vấn đề này.

CẬP NHẬT 3:

Điều này đã được sửa gần đây với Visual Studio 2012 Update 2


1
Điều đó thật lạ. Nếu bạn thấy thư mục Xuất bản / ..., nó sẽ hoạt động chính xác. Tôi đề nghị bạn kiểm tra với con đường của bạn. Hãy chắc chắn rằng bạn đang nhìn đúng nơi.
maxisam

14
Điều này đã xảy ra với tôi trên Windows 8 với Visual Studio 2012. Tôi vừa mới tạo một hồ sơ xuất bản mới và nó hoạt động! Có lẽ là một lỗi trong VS 2012.: /
T.Ho

3
Tôi đã từng gặp vấn đề tương tự. Xóa và tạo lại hồ sơ xuất bản đã giúp tôi.
Tommy Jakobsen

3
Xóa và tạo lại hồ sơ đã lừa tôi.
Michael Wells

3
Điều này chưa được sửa trong Visual Studio Update 2, cũng như trong Bản cập nhật 3. Kiểm tra câu trả lời phổ biến nhất sau "câu trả lời được chấp nhận" (không phải là giải pháp). Chỉ cần chỉnh sửa cấu hình và trong tab "Cài đặt" - chọn cấu hình chính xác từ danh sách (nếu bản phát hành là bản tốt, chọn gỡ lỗi, lưu, sau đó chỉnh sửa lại và chọn phát hành). Lưu và xuất bản.
firepol

Câu trả lời:


78

Điều này có thể được gây ra bởi các giải pháp / dự án đã được tạo ra với RC vs2012. Điều này đã xảy ra với tôi vài tháng trước và đã khắc phục sự cố bằng cách đảm bảo các cấu hình xây dựng giải pháp của tôi khớp với các cấu hình dự án của tôi ...

Gần đây tôi đã gặp vấn đề tương tự khi mở cùng một giải pháp ban đầu được tạo ra trong vs2012RC với VS2012 Express cho Web. Tôi đã làm chính xác những gì người đăng ban đầu đề nghị và nó đã khắc phục vấn đề của tôi.

Đây là chủ đề dẫn tôi đến câu trả lời:

connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web-application-fails

Câu trả lời thích hợp từ cuộc trò chuyện ở trên đã giúp tôi là:

Được đăng bởi Microsoft vào ngày 13 tháng 6 năm 2012 lúc 12:00 PM Xin chào Andrew,

Đây là một lỗi trong cách chúng tôi xử lý cấu hình giải pháp so với cấu hình dự án. Chúng tôi đã giả định không chính xác rằng chúng sẽ giống nhau (ví dụ: Giải pháp phát hành | x86 sẽ có mỗi dự án được đặt thành Phát hành | x86), điều này khiến chúng tôi sử dụng các thuộc tính xây dựng sai để xuất bản tệp.

Cách giải quyết là làm cho cấu hình giải pháp và cấu hình xây dựng khớp. Vấn đề này sẽ được khắc phục trong phiên bản tiếp theo của Visual Studio 2012.

Cảm ơn, - Jimmy Lewis SDET, nhóm Nhà phát triển web trực quan


8
Vấn đề này xảy ra với tôi trong một dự án Visual Studio 2012 mới. Nó đã xuất bản qua FTP trong quá khứ, nhưng bây giờ khi tôi cố gắng Xuất bản nó chính xác như trên - nó giả vờ, nói rằng nó đã thành công và không đẩy được gì. Nó không xây dựng đầu ra cho thư mục obj, nhưng nó không bao giờ thực sự sao chép nó vào máy chủ. Thủ thuật cấu hình thay đổi sẽ khắc phục nó mặc dù.
Chris Moschini

12
Chào! Nó vẫn bị phá vỡ trong SP2!

6
Tôi chỉ gặp vấn đề tương tự và nhận ra đó là do cài đặt xuất bản mặc định là "Bất kỳ CPU", nhưng giải pháp của tôi được đặt thành "x86". Thay đổi Cài đặt trong Xuất bản thành x86 đã khắc phục sự cố.
Sam

Không có giải pháp nào ở trên làm việc cho tôi. Xóa hồ sơ và tạo lại, thay đổi cấu hình và thay đổi lại, khởi động lại VS, xây dựng lại tất cả, v.v. Tôi đã tạo một chế độ xem mới trong ứng dụng của mình. Nó đây rồi. Tôi có thể thấy nó. Khi tôi chạy cục bộ, nó sẽ hiển thị. Khi tôi xuất bản, nó không ở đó. Tôi đã cập nhật 4.
Robert

Điều duy nhất phù hợp với tôi là xóa quan điểm của tôi khỏi dự án và thêm lại. Dường như đánh thức IDE lên đến khái niệm rằng có một cái gì đó mới ở đây. Vì vậy, bất cứ nơi nào VS theo dõi các bổ sung và phép trừ dự án có thể được tham gia.
Robert

104

Vấn đề tương tự. Cách giải quyết là thay đổi cài đặt xuất bản từ Phát hành sang Gỡ lỗi. Tái xuất bản và sau đó thay đổi trở lại Phát hành ...


YEAH! Đây là câu trả lời tốt. Trong trường hợp của tôi, tôi không sử dụng các cấu hình "Phát hành" hoặc "Gỡ lỗi" mặc định, nhưng "DEV", "GIAI ĐOẠN" và "SỐNG". Tôi đã thấy ví dụ như cho GIAI ĐOẠN, trên máy tính của đồng nghiệp đã tải xuống giải pháp của tôi qua TFS, cấu hình bị đặt sai thành "Phát hành" (tương tự cho tất cả các cấu hình khác). Vì vậy, tôi chỉ cần sửa nó và chỉ vào "GIAI ĐOẠN" (hoặc DEV / LIVE cho những cái khác). Các nhà xuất bản đã làm việc. Cảm ơn bạn.
firepol

Làm việc như người ở. Điều này nên e câu trả lời được chấp nhận.
Aycan Yaşıt

39

Để có thêm điều này một chút. Bạn có hai tệp được tạo khi bạn tạo hồ sơ xuất bản.

  • NewProfile.pubxml
  • NewProfile.pubxml.user

Khi bạn mở một dự án có các tệp này trong thư mục PublishProfile từ một điều khiển nguồn, nó chỉ có .pubxmltệp chứ không phải .publxml.usertệp, vì vậy nó sẽ tạo .publxml.usertệp khi bạn mở dự án. Khi nó tạo cái mới .publxml.userkhi đang bay, xml trông như sau:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

Khi bạn tạo một hồ sơ mới, nó sẽ tạo ra xml giống như:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <TimeStampOfAssociatedLegacyPublishXmlFile />
    <EncryptedPassword />
  </PropertyGroup>
</Project>

Nếu bạn lấy <PropertyGroup>nút và đặt nó vào .pubxml.usertệp, PublishProfiles của bạn sẽ bắt đầu hoạt động trở lại.


5
+1 Điều đó dường như đối với tôi. Nó làm cho nó dễ dàng hơn một chút nếu bạn mở hai tệp và so sánh chúng sau khi tạo một hồ sơ mới. Tôi cũng thấy rằng cả hai tập tin cần phải được kiểm tra trong kiểm soát nguồn nếu làm việc trong một nhóm.
Deano

@Deano Vấn đề với việc kiểm tra trong bất kỳ tệp * .user nào là bạn không còn khả năng tùy chỉnh dự án cá nhân (cục bộ). Điểm của tệp người dùng là cho phép các thành viên nhóm riêng lẻ có cài đặt cục bộ của riêng họ.
Dave Riedl

Có giải pháp nào khác thay vì thêm tệp ".pubxml.user" vào kiểm soát nguồn không?
Ubikuity

Chúng tôi không cam kết các tệp * .user vào kiểm soát nguồn, nhưng tình cờ, chúng tôi không sử dụng hồ sơ xuất bản bên trong Visual Studio, vì máy chủ Tích hợp liên tục và quy trình xây dựng của chúng tôi quản lý tất cả những điều đó ...
Brett Rigby

21

Một sửa chữa dễ dàng là xóa hồ sơ xuất bản của bạn và tạo một hồ sơ mới.

Khi bạn nhấp chuột phải vào giải pháp của bạn và chọn xuất bản, bạn có một bộ hồ sơ. xóa cái này và tạo cái mới

cái này sẽ sửa nó

Tôi gặp vấn đề này từ việc chuyển đổi từ năm 2010 sang 2012


Điều này làm việc cho tôi, những gì tôi làm là xóa các cấu hình trong máy cục bộ và tạo lại chúng. Điều này không ảnh hưởng đến các máy phát triển khác.
Jean Jimenez

Tôi đã gặp sự cố khi chuyển đổi dự án từ vs2013 sang vs2012 và điều này đã khắc phục hoàn toàn vấn đề
NikiUsefi

Điều này làm việc cho tôi. Tôi đã sử dụng các bước này để xây dựng lại hồ sơ xuất bản (hệ thống tệp) của mình: stackoverflow.com/a/20616521/381082
DeveloperDan

9

Tôi đã có cùng một lỗi và tôi thay đổi cài đặt từ phát hành sang gỡ lỗi và vấn đề đã được giải quyết ..


8

Tôi đã có cùng một vấn đề tuy nhiên không có câu trả lời nào trong chủ đề này làm việc cho tôi. Vấn đề của tôi là có một thư mục chứa các tệp HTML tĩnh được tạo động (bởi ứng dụng của tôi). Toàn bộ thư mục đã không được công bố.

Giải pháp hiệu quả với tôi đã được tìm thấy ở đây :

Một vấn đề tôi đã nhận được một thời gian và nghĩ rằng tôi nên ghi lại là một số loại tệp nhất định không được tải lên khi tôi xuất bản dự án của mình.

Các loại tệp trong câu hỏi là tệp .pdf và .rtf.

Lý do điều này xảy ra là vì các phần mở rộng tệp này không được công nhận là yêu cầu xuất bản bởi Visual Studio. May mắn thay điều này có thể được thay đổi trong Visual Studio.

Chọn (các) tệp không được sao chép. Trong Thuộc tính đảm bảo rằng Build Action được đặt thành Nội dung .

Nếu điều này không làm việc sau đây có thể được thử.

Trong menu Project, chọn Gói / Xuất bản Web và thông báo thả xuống này:

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

Hãy thử thay đổi điều này thành Tất cả các tệp trong thư mục dự án này.


Điều này làm việc cho tình huống của tôi - khi chỉ MỘT SỐ tệp được xuất bản.
AndrewRalon

Điều này chỉ hoạt động vì các tập tin không được bao gồm trong dự án đúng. Xem câu trả lời dưới đây để biết nguyên nhân và giải pháp gốc: stackoverflow.com/a/40721544/3520070
AndrewRalon

Câu trả lời nào dưới đây?
Tomas Kubes

7

Điều này là do .pubxml.user chứa thông tin bắt buộc để xuất bản và tệp đó không (và không nên) được đưa vào kiểm soát nguồn. Để sửa lỗi VS này, hãy sao chép thông tin từ tệp .pubxml.user sang tệp .pubxml. Các thuộc tính có liên quan là:

<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>

Đặt những thứ đó vào .pubxml của bạn và bạn sẽ thấy ổn.


7

Tôi đã thử tất cả các giải pháp này nhưng đây là giải pháp hoạt động mọi lúc.

Chúng tôi chỉ thay đổi "Phương thức xuất bản:" từ "Hệ thống tệp" thành ví dụ "Triển khai web" và ngay lập tức thay đổi lại thành "Hệ thống tệp".


Vâng, đây là những gì cuối cùng cũng làm việc cho tôi (đã thử tất cả các đề xuất khác ở trên). Đây là với vs2010
Karen

5

Tôi có (đã) cùng một vấn đề cho một số dự án. Những người duy nhất đạt được dường như là các dự án web. Xóa và tạo lại hồ sơ chỉ giải quyết vấn đề một lần. Ngoài ra, so sánh các xuất bản được tạo ra không mang lại sự khác biệt, vì vậy nó dường như không liên quan đến hồ sơ.

Cách giải quyết được OP đề cập để thay đổi các vấn đề xây dựng qua lại dường như là giải pháp đáng tin cậy duy nhất tại thời điểm này.


Cách giải quyết tương tự cũng là cách khắc phục duy nhất đối với tôi. Để làm rõ, các bước: Xây dựng> Xuất bản. Chọn tab Cài đặt ở bên trái. Thay đổi cấu hình xây dựng thành bất cứ điều gì khác. Bạn sẽ thấy giờ đây có dấu hoa thị (*) bên cạnh tên của Hồ sơ xuất bản - đó là một dấu hiệu cho thấy lỗi đã bị cản trở. Thay đổi cấu hình xây dựng trở lại những gì bạn muốn. Tiến hành xuất bản như bình thường. Đã sửa.
Chris Moschini

4

Tôi gặp vấn đề tương tự trên VS 2010, sau khi kiểm tra đầu ra xuất bản, nhật ký sự kiện, bật và kiểm tra nhật ký phòng thu trực quan, v.v ... Sau đó tôi quyết định xóa xuất bản web (thông qua add / remove) mà tôi tin rằng gần đây đã được cập nhật lên v1. 0,3810.0. Điều này đã giải quyết vấn đề.


2
Chúng tôi đã gặp sự cố này, dường như có liên quan đến tệp pubxml.user trong thư mục PublishProfiles trong Dự án của tôi - tôi có một danh sách các tệp do máy tạo để xuất bản, mặc dù tài liệu nói rằng tệp này chỉ dành cho cài đặt dành riêng cho tôi ( và do đó không được đặt trong kiểm soát nguồn). Tôi đã có thể xuất bản được. Đồng nghiệp của tôi đã lấy một bản sao mới của mã nguồn của chúng tôi và không thể xuất bản - khi tệp pubxml.user của anh ấy được tạo không có tệp nào được liệt kê. Chúng tôi đã gỡ cài đặt xuất bản web cập nhật và tất cả đều hoạt động tốt trở lại.
Nick

4

Ở đây chúng tôi đã có cùng một vấn đề.

Chúng tôi chỉ thay đổi "Phương thức xuất bản:" từ "Hệ thống tệp" thành ví dụ "Triển khai web" và ngay lập tức thay đổi lại thành "Hệ thống tệp".


cái này nên ở trên cùng
JoeBrockhaus 27/12/13

Điều này hiện đã được sửa với Visual Studio 2012 Update 3
KoalaBear

4

Sau đây làm việc cho tôi:

Chỉ cần thay đổi từ Phát hành> Gỡ lỗi> Phát hành (hoặc ngược lại) và sau đó xuất bản.

Không cần xóa, chỉnh sửa, xuất bản bất cứ thứ gì bạn không cần.


4

Vấn đề của tôi là cấu hình sai của tệp myproject.csproj. Tệp '_address-step1-archive.cshtml' không sao chép khi xuất bản. 'Không' đổi thành 'Nội dung', giờ thì ổn rồi. nhập mô tả hình ảnh ở đây


ĐIỀU ĐÓ LÀ VẬY ĐÓ! Dự án có nhiều tệp đã được kiểm tra trong kiểm soát nguồn, nhưng được đánh dấu là Nonetrong tệp .csproj hoặc bị thiếu hoàn toàn khỏi dự án (có nhưng không được "sử dụng")! Điều này giải thích đầy đủ tại sao chạy cục bộ luôn hoạt động, nhưng xuất bản không bao giờ làm. : D
AndrewRalon

3

Vấn đề tương tự với VS 2012 Pro với mục tiêu xuất bản đĩa. Dự án được sử dụng để xuất bản chính xác nhưng bắt đầu thực hiện vấn đề này khi không thể sao chép các tệp vào thư mục đích.

Giải pháp là chỉnh sửa hồ sơ xuất bản, thay đổi chế độ từ Phát hành (Bất kỳ CPU) sang gỡ lỗi sau đó quay lại Phát hành (Bất kỳ CPU). Làm điều này làm cho tệp PublishProfiles \ projname.pubxml.user được viết lại (như được mô tả ở trên). Có vẻ như nó đã thêm các phần tử LastUsedBuild, LastUsedPl Platform và TimeStampOfAssociatedLegacyPublishXmlFile dưới nút thuộc tính nhóm. Sau khi xuất bản hoàn tất, nó thêm một Itemgroup khác với các tệp riêng lẻ và thời gian xuất bản.


1

Hành động này đã thành công đối với tôi:

Giết xuất bản hồ sơ trong "Thuộc tính> PublishProfiles> xxxx.pubxml" và thiết lập lại.


1

Vì giá trị của nó, cuối cùng tôi đã từ bỏ việc chiến đấu với Web Deployment để khiến nó thực hiện những gì tôi muốn (sao chép các tệp có thể triển khai và không có gì khác), vì vậy tôi đã viết kịch bản trong PowerShell và thực sự hài lòng với kết quả này. Đó là nhiều nhanh hơn so với bất cứ điều gì tôi đã cố gắng thông qua MSBuild / Web Xuất bản, có lẽ vì các phương pháp đó vẫn còn làm những điều tôi không cần.

Đây là ý chính (theo nghĩa đen ):

function copy-deployable-web-files($proj_path, $deploy_dir) {
  # copy files where Build Action = "Content" 
  $proj_dir = split-path -parent $proj_path
  [xml]$xml = get-content $proj_path
  $xml.Project.ItemGroup | % { $_.Content } | % { $_.Include } | ? { $_ } | % {
    $from = "$proj_dir\$_"
    $to = split-path -parent "$deploy_dir\$_"
    if (!(test-path $to)) { md $to }
    cp $from $to
  }

  # copy everything in bin
  cp "$proj_dir\bin" $deploy_dir -recurse
}

Trong trường hợp của tôi, tôi đang gọi nó trong môi trường CI (TeamCity), nhưng nó cũng có thể dễ dàng được nối vào một sự kiện hậu xây dựng.


1

Tôi đã tìm thấy tôi có thể khắc phục vấn đề này bằng cách thay đổi vị trí đích từ obj / [phát hành | giai đoạn | ..] sang một đường dẫn mới bên ngoài các thư mục giải pháp hoàn toàn, ví dụ: c: \ triển khai. Có vẻ như VS 2012 đã bị lẫn lộn và có thể từ bỏ ở đâu đó trong quá trình xuất bản.

Matt


1

Có một vấn đề tương tự gần đây trong VS 2013 cho một dự án MVC mà tôi đã nhập Umbraco CMS. Tôi không thể xuất bản. Câu trả lời ở trên đã giúp, mặc dù tôi cần một thời gian để tìm ra những gì tôi thực sự nên làm trong VS. Nó cần một số nghiên cứu ví dụ trên blog MS để tìm hiểu. Tôi cố gắng nói đơn giản:

  • Chọn trong thanh công cụ VS một cấu hình nhất định, ví dụ: Phát hành và Bất kỳ CPU. Chạy dự án.
  • Sau đó nhấp chuột phải vào Solution Explorer trên giải pháp được đề cập, chọn Xuất bản. Tạo một hồ sơ xuất bản mới hoặc sử dụng một hồ sơ nhất định, nhưng luôn đảm bảo rằng trong các cài đặt có cùng cấu hình (ví dụ: Phát hành và CPU bất kỳ), như trước khi bạn chạy dự án lần trước.
  • Ngoài ra, trong trường hợp của tôi, cần phải xóa thư mục OBJ vì ở đây các cài đặt từ lần thử không thành công cuối cùng của tôi đã bị kẹt, mặc dù tôi đã khởi động lại VS và xóa tất cả các hồ sơ xuất bản.

0

Tôi có một Ứng dụng web với một số Dự án được tham chiếu khác trong Giải pháp. Tôi đã triển khai thành công với một cấu hình Xuất bản nhiều lần trong quá khứ. Tôi đã thay đổi Cấu hình dự án từ Gỡ lỗi thành Phát hành cho một Dự án đã bị bỏ qua trong quá khứ. Lần tiếp theo khi tôi cố gắng triển khai tôi đã gặp phải những triệu chứng này, trong đó Xuất bản chỉ lặng lẽ thất bại - nó không làm gì cả và nói rằng nó đã thành công:

1>------ Build started: Project: Project, Configuration: DeployProduction Any CPU ------
1>  
2>Publishing folder /...
========== Build: 1 succeeded, 0 failed, 9 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========

Cách duy nhất để khôi phục nó là xóa sạch hồ sơ Xuất bản, đóng Visual Studio để buộc nó lưu lại việc xóa, mở lại và tạo lại hồ sơ Xuất bản từ đầu. Khi tôi đã làm điều đó tôi có thể xuất bản tốt một lần nữa.

Win8 VS2012, máy tính xách tay crappy.


0

Trong Visual Studio 2012, việc chuyển đổi giữa các bản phát hành vẫn gây ra sự cố.

Chúng tôi đã thêm một sự kiện dựng sẵn để xóa objthư mục: del /s /f /q $(ProjectDir)\objvà nó đã khắc phục vấn đề xuất bản. Đôi khi làm sạch, nhưng không phải lúc nào cũng vậy.


0

Cuối cùng tôi cũng tìm được câu trả lời. Tất cả các giải pháp trên không làm việc cho tôi.

Những gì tôi đã làm là tôi chuyển dự án sang ổ đĩa c thay đổi thư mục dự án thành một cái gì đó ngắn hơn và bùng nổ nó xuất bản ..

Lý do thất bại về phía tôi là vì tôi có tên dự án / gia truyền rất dài.

C: \ Users \ user \ Desktop \ Hệ thống quản lý tuân thủ \ Tuân thủIssueQuản lýSystem \ Tuân thủIssueQuản lý hệ thống

Tôi đã nghĩ về điều này bởi vì đôi khi khi tôi trích xuất tập tin rar, nó nói rằng tên / đường dẫn quá dài. Tôi nghĩ rằng nó sẽ giống như visual studio 2012 xuất bản. và nó làm được!

Hy vọng nó sẽ giúp các bạn.


0

Kiểm tra dự án hiện tại của bạn xem bạn đã sao chép lại cùng tên lớp và tên trang khác chưa (Tên lớp sẽ kế thừa tệp đã sao chép). Cuối cùng sẽ gây nhầm lẫn cho trình biên dịch !!!

CodeFile = "Consolidated.aspx.vb" Kế thừa = "Hợp nhất


0

Không có giải pháp nào ở trên làm việc cho tôi.

Nhưng tôi nhận thấy rằng trong năm dự án ASP.NET MVC của chúng tôi trong giải pháp chính của chúng tôi, bốn trong số chúng đặt gói triển khai ở đúng nơi, trong khi một dự án để lại dưới obj \ Debug.

Tôi đã so sánh các dự án và tìm thấy một sự khác biệt. Giải pháp là thay đổi điều này :

<Import
    Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

đến đây :

<Import
  Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets"
  Condition="'$(VSToolsPath)' != ''" />
<Import
  Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets"
  Condition="false" />

Sau khi tôi thực hiện thay đổi này, tất cả năm dự án đều đặt các gói triển khai của họ vào đúng vị trí.

(Xin lỗi về những hàng dài, nhưng tôi không thể tìm ra cách nào tốt hơn để cô đọng chúng.)


Tôi đang gặp tình huống một hoặc hai tệp dường như bị bỏ qua và không được xuất bản lên máy chủ, nhưng, tệp .vbproj của tôi đã có cả hai yếu tố <Nhập> mà bạn đề xuất
bkwdesign

0

Tôi đã gặp điều này với Tham chiếu dịch vụ được tạo bởi Visual Studio các tệp trở nên quá dài về chiều dài đường dẫn tổng thể.

Rút ngắn chúng bằng cách tạo lại Tham chiếu dịch vụ bằng svcutil.exe, xóa tất cả các tệp Tham chiếu dịch vụ gốc.

svcutil có thể được gọi như thế này:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\SvcUtil.exe" /language:CS http://myservice /namespace:*,My.Namespace

My.Namespace nên được thay thế bằng không gian tên hiện có trong proxy dịch vụ được tạo (thường được tìm thấy trong tệp Reference.cs) để tránh lỗi biên dịch.

http://myservice nên được thay thế bằng url điểm cuối dịch vụ.


0

Tôi đã gặp vấn đề tương tự. Không có giải pháp nào ở trên làm việc cho tôi.

Vì vậy, tôi đã loại trừ các tệp không thể sao chép trong khi xuất bản.


0

Tôi đã xuất bản trang web nhiều lần. Nhưng một ngày nọ khi tôi sửa đổi một số tệp aspx và sau đó cố gắng xuất bản trang web, nó đã dẫn đến một thư mục được xuất bản trống.

Trên cách giải quyết của tôi, tôi tìm thấy một giải pháp.

  1. Trình hướng dẫn xuất bản sẽ phản ánh bất kỳ lỗi nào trong khi xuất bản nhưng sẽ không sao chép bất kỳ tệp nào vào thư mục đích.

  2. Để tìm ra tệp tạo ra lỗi, chỉ cần sao chép nội dung thư mục trang web vào một thư mục mới và bắt đầu phòng thu trực quan với trang web đó.

  3. Bây giờ khi bạn cố gắng xuất bản nó sẽ cung cấp cho bạn tên tệp có lỗi.

  4. Chỉ cần sửa lỗi trong thư mục trang web gốc và cố gắng xuất bản, nó sẽ hoạt động như trước.


0

Thực hiện theo các bước sau để giải quyết:

Build > Publish > Profile > New

Tạo một hồ sơ mới và cấu hình nó với cùng các cài đặt với hồ sơ hiện tại của bạn.

Dự án sẽ xuất bản chính xác. Điều này thường xảy ra do một hồ sơ xuất bản được kiểm soát nguồn từ một máy khác được tạo trong phiên bản mới hơn của Visual Studio.


0

CỐ ĐỊNH - các giải pháp khác nhau được cung cấp đã không làm việc cho tôi. Điều làm việc với tôi với VS Community 2017, Windows Server 2012 R2 là thay đổi các biến môi trường TEMP và TMP cho người dùng và sau đó khởi động lại hệ thống và triển khai lại (khởi động lại VS là không đủ). Các biến temp này là nơi VS thực hiện temp xuất bản.

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

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

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

Khởi động lại studio hình ảnh sau khi thay đổi các biến tạm thời không làm được điều đó, phải khởi động lại hệ thống.


-1

Đầu tiên:

  • Xây dựng trong cấu hình phát hành.
  • Trong Project Properties-> trang chọn Tất cả các tệp và thư mục trong Gói / Xuất bản Web.
  • Xây dựng lại giải pháp (sau giải pháp Clean).
  • bây giờ xuất bản.

Trong khi xuất bản kiểm tra lại những gì bạn đã chọn.
điều này nên làm điều đó Nó đã làm cho tôi! :)


-2

Đơn giản nhất là

   1. select the file(s) that are not being copied,
   2. Press <F4> to get the properties window
   3. Make the "Build Action" property "compile" or "content" depending on what it is.
   4. Now this particular file will be included!
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.