Ứng dụng web ASP.Net Thêm biến đổi cấu hình được tô xám


88

Tôi đã thêm một dự án ứng dụng web ASP.Net hiện có vào giải pháp của mình. Ngoài các cấu hình gỡ lỗi và phát hành tiêu chuẩn, giải pháp này còn có hai cấu hình tùy chỉnh, SAT và UAT. Đối với ứng dụng web mới, nhấp chuột phải vào Web.Config sẽ hiển thị menu ngữ cảnh nhưng tùy chọn "Thêm cấu hình chuyển đổi" chuyển sang màu xám.

Tôi thua lỗ. Dự án mới là một ứng dụng web. Trình quản lý cấu hình không hiển thị hai cấu hình tùy chỉnh cho dự án này nhưng nó hiển thị cho các dự án khác. Dự án dường như có các mục nhập chính xác trong tệp giải pháp.

Suy nghĩ?

Câu trả lời:


115

Trước tiên, bạn phải xác định cấu hình trong Trình quản lý cấu hình. Để chắc chắn rằng bạn đang kích hoạt Trình quản lý cấu hình, bạn có thể truy cập nó bằng cách đi tới: Build-> Configuraton Manager

Trong menu thả xuống Cấu hình Giải pháp Hoạt động , hãy chọn <New...>. Sau khi bạn đã thêm, bạn sẽ có thể "Thêm biến đổi cấu hình".

Không chỉnh sửa trực tiếp tệp giải pháp của bạn. Nó sẽ chỉ gây ra đau đầu.


6
Tât nhiên. Tôi đã thử điều đó trước đây nhưng không thể bỏ chọn hộp "tạo" nên nó không thành công như một "bản sao". Ngay sau khi tôi bỏ chọn hộp "tạo", nó đã hoạt động.
paulv7260

@maplemale Tương tự ở đây, tùy chọn vẫn màu xám
Anders Lindén

Tôi xin lỗi, tôi không thể nhớ mình đã làm việc này như thế nào. Tôi có thể đã hack trực tiếp tệp sln, trái ngược với câu trả lời của Jeremy, đôi khi đó chỉ là lựa chọn khả thi về thời gian. Tôi đã không gặp sự cố này kể từ khi nâng cấp lên VS2015.
maplemale

2
Cấu hình Giải phápDự án khác nhau! Bạn cần tạo một cấu hình trong một dự án nhất định trước khi nó có thể sử dụng biến đổi đó. Chọn "Tạo cấu hình dự án mới" để tạo cấu hình trong tất cả các dự án cùng một lúc hoặc thực hiện riêng lẻ như @ paulv7260 đã làm.
Patrick

1
Nếu nó vẫn chuyển sang màu xám, hãy đảm bảo rằng dự án web của bạn có cấu hình bản dựng khớp với tên của cấu hình giải pháp và đảm bảo rằng nó được chọn.
jmatthias

45

Khi chúng tôi làm việc với PublishProfiles, đối với tôi câu trả lời là nhấp chuột phải vào pubxmltệp có liên quan (được tìm thấy trong thư mục Propertiescon của thư mục dự án PublishProfiles) và sau đó chọn Add Config Transform. Không cần người quản lý;).


Giải pháp này hoạt động tốt hơn nhiều đối với tôi vì tôi chỉ muốn thêm biến đổi này, không có gì khác. Cấu hình giải pháp hoạt động mới có tác động đến tất cả các dự án trong giải pháp, điều này không liên quan trong trường hợp của tôi. Cảm ơn!
Ben

Hoàn hảo. Hoạt động trong dự án Biểu mẫu Web cũ của tôi mà tôi hiện đang chỉnh sửa trong Visual Studio 2015. Thích nó. Cảm ơn bạn.
bkwdesign

5
Đã thử nghiệm và hoạt động trên VS 2015. Tuy nhiên, tôi vẫn không thể hiểu tại sao "Thêm cấu hình biến đổi" bị chuyển sang màu xám
Illidan

20

Trong trường hợp của tôi, trong Visual Studio 2015, khi tôi tạo giải pháp mới dựa trên mẫu dự án, Add Config Transform chuyển sang màu xám - nhưng vì một lý do khác:

Nhấp vào "Hiển thị tất cả tệp" cho biết các tệp đã ở đó - chỉ bị ẩn. Do đó, nút có màu xám (vì không cần thêm chúng vì chúng đã ở đó).

  1. Nhấp vào biểu tượng "Hiển thị tất cả các tệp":
    nhập mô tả hình ảnh ở đây

  2. Bây giờ bạn có thể mở rộng "Web.config":
    nhập mô tả hình ảnh ở đây

  3. Nhấp đúp vào bất kỳ tệp biến đổi nào ( Web.Debug.confighoặc Web.Release.config) để mở và chỉnh sửa nó.

Ghi chú:

  • Tôi không muốn thêm cấu hình bổ sung, chỉ cần sử dụng Gỡ lỗiPhát hành . Nếu bạn tạo một, hãy chọn nó và tệp biến đổi chưa tồn tại, thì mục menu ngữ cảnh Thêm cấu hình biến đổi sẽ hoạt động và không chuyển sang màu xám.

  • Nếu bạn muốn tạo các tệp biến đổi cấu hình bổ sung , hãy nhớ rằng trong Visual Studio, các biến đổi cấu hình có tương quan với cấu hình. Để thêm một biến đổi khác, trước tiên bạn cần thêm cấu hình mới. Để thêm một cấu hình khác, hãy làm như sau: Qua trình quản lý cấu hình (menu thả xuống nơi bạn có thể chọn Gỡ lỗi hoặc Phát hành), trước tiên hãy thêm cấu hình mới, ví dụ: myNewConfig. Sau đó chọn myNewConfig. Bây giờ chọn Web.config trong Giải pháp Explorer, nhấp chuột phải và chọn trong trình đơn ngữ cảnh "Thêm cấu hình chuyển đổi" - nó sẽ tạo Web.myNewConfig.config. Khi nó tồn tại, menu ngữ cảnh sẽ lại chuyển sang màu xám, vì VS chỉ cho phép một biến đổi cho mỗi cấu hình.


Đây cũng là tình huống đối với tôi. Tôi muốn các tệp biến đổi cấu hình luôn hiển thị, vì vậy tôi đã nhận xét <DependentUpon>Web.config</DependentUpon>trong tệp dự án. Các biến đổi vẫn hoạt động như mong đợi.
Ethan

Làm cách nào để thêm các chuyển đổi cấu hình mới?
Reshma

@Reshma - Trong Visual Studio, các biến đổi cấu hình tương quan với cấu hình. Thông qua trình quản lý cấu hình (trình đơn thả xuống nơi bạn có thể chọn Gỡ lỗi hoặc Phát hành), trước tiên hãy thêm cấu hình mới, ví dụ: myNewConfig. Sau đó chọn myNewConfig. Bây giờ chọn Web.config, nhấp chuột phải và chọn trong menu ngữ cảnh "Add Config Transform" - nó sẽ tạo Web.myNewConfig.config.
Matt,

Tôi đã làm điều đó Matt và có thể thêm một tệp cấu hình nhưng tôi đang cố gắng thêm tệp cấu hình khác và bây giờ một lần nữa "thêm Biến đổi cấu hình" lại chuyển sang màu xám. Tôi cũng đã tạo tệp cấu hình mới cho tệp cấu hình tiếp theo
Reshma

1
@Reshma - Đúng vậy, vì bạn chỉ có thể có một cho mỗi cấu hình. Để có một cấu hình khác, hãy thêm một cấu hình bổ sung, chẳng hạn như myNewConfig2. Sau đó chọn myNewConfig2 và thử lại. Nó sẽ không có màu xám lần này - hãy chọn nó. Lưu ý: Nó sẽ chuyển sang màu xám ngay khi có tệp cấu hình cho cấu hình đó.
Matt

1

Để làm được điều này, tôi phải thêm các nhóm thuộc tính mới vào tệp csproj của mình.

Thêm biến đổi cấu hình bị chuyển sang màu xám.

tôi đã thêm XML sau vào csproj của mình và tải lại dự án. thì Thêm Biến đổi Cấu hình đã có sẵn. khi đã chọn, các chuyển đổi bổ sung của tôi đã được thêm vào

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'IAT_CMCD|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UAT_CM|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

1

Tôi đã giải quyết điều này bằng cách nhận ra hai điều:

  1. Có cấu hình mức Giải pháp và có cấu hình mức Dự án . Web.MyConfigName.config được tạo dựa trên cấu hình mức dự án .
  2. Có vẻ như Trình quản lý cấu hình Visual Studio 2017 căn cứ vào cấu hình nào để thêm từ thư mục obj (ẩn). Xóa thư mục obj cho dự án và xây dựng lại sẽ cập nhật dự án với các cấu hình bạn đã thêm.

Để cung cấp tùy chọn "thêm chuyển đổi cấu hình", hãy làm theo các bước sau:

  1. Đảm bảo rằng bạn đã bật Hiển thị tệp ẩn
  2. Mở trình quản lý cấu hình cho Giải pháp
  3. Chọn cấu hình Giải pháp liên quan , sau đó trong menu thả xuống bên cạnh dự án của bạn, chọn <New..>hoặc <Edit..>và thêm, xóa hoặc chỉnh sửa cấu hình Dự án nào bạn muốn.
  4. Xóa thư mục obj trong dự án của bạn. Xây dựng lại. Đảm bảo bạn lưu các thay đổi vào tệp dự án và giải pháp của mình. Tôi cũng đã khởi động lại studio trực quan, bởi vì tại sao không. Xác minh rằng bạn thấy tất cả các cấu hình dự án của mình dưới dạng các thư mục trong thư mục obj của bạn.
  5. Nhấp chuột phải vào web.config và thêm chuyển đổi cấu hình của bạn.

Hy vọng nó sẽ giúp một ai đó. :)


1

Cách bật tùy chọn "Thêm biến đổi cấu hình". Vui lòng làm theo các bước dưới đây. Bước 1: Đi tới Cấu hình giải pháp (Nhóm bên dưới) Đi tới Cấu hình giải pháp (Nhóm bên dưới)

Bước 2: Nhấp vào Trình quản lý cấu hình Nhấp vào trình quản lý cấu hình

Bước 3: Chọn Mới từ cửa sổ cấu hình giải pháp Hoạt động Chọn Mới từ cửa sổ cấu hình giải pháp hiện hoạt

Bước 4: Bây giờ đặt tên có ý nghĩa cho mặt hàng mới của bạn như Sản xuất / Dàn dựng và chọn cài đặt sao chép từ tùy chọn "Phát hành". Đảm bảo rằng bạn đã chọn hộp kiểm nếu nó không được chọn theo mặc định và nhấp vào OK. Bây giờ hãy đặt tên có ý nghĩa cho mặt hàng mới của bạn như Sản xuất / Dàn dựng

Bước 5: Bây giờ quay lại trình khám phá giải pháp của bạn và nhấp chuột phải vào tệp Web.Config của bạn. Thêm chuyển đổi cấu hình được bật ngay bây giờ

Hola! Thêm cấu hình chuyển đổi được bật ngay bây giờ. :)

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.