Aplikasi Web ASP.Net Tambahkan Konfigurasi Transformasi Abu-abu

89

Saya menambahkan proyek aplikasi web ASP.Net yang ada ke solusi saya. Selain konfigurasi debug dan rilis standar, solusi ini juga memiliki dua konfigurasi khusus, SAT dan UAT. Untuk aplikasi web baru, klik kanan pada Web.Config menampilkan menu konteks tetapi opsi untuk "Add Config Transform" berwarna abu-abu.

Saya bingung. Proyek baru adalah aplikasi web. Pengelola Konfigurasi tidak menampilkan dua konfigurasi khusus untuk proyek ini, tetapi untuk proyek lain. Proyek ini tampaknya memiliki entri yang benar dalam file solusi.

Pikiran?

paulv7260.dll
sumber

Jawaban:

117

Anda harus menentukan konfigurasi di Pengelola Konfigurasi terlebih dahulu. Untuk memastikan Anda membuka Pengelola Konfigurasi, Anda dapat mengaksesnya dengan membuka: Build-> Pengelola Konfigurasi

Pada menu dropdown Active Solution Configuration , pilih <New...>. Setelah Anda menambahkan, Anda akan dapat "Tambahkan Transformasi Konfigurasi".

Jangan mengedit file solusi Anda secara langsung. Itu hanya akan menyebabkan sakit kepala.

Jeremy
sumber
6
Duh. Saya telah mencobanya sebelumnya tetapi gagal untuk menghapus centang pada kotak "buat" sehingga gagal sebagai "duplikat". Segera setelah saya menghapus centang pada kotak "buat", itu berhasil.
paulv7260
@maplemale Sama di sini, opsi masih abu
Anders Lindén
Maaf, saya tidak dapat mengingat bagaimana saya membuat ini bekerja. Saya mungkin telah meretas file sln secara langsung, bertentangan dengan jawaban Jeremy, terkadang itu hanya satu-satunya pilihan yang dapat bertahan. Saya belum mengalami masalah ini sejak memutakhirkan ke VS2015.
maplemale
2
Konfigurasi Solusi dan Proyek berbeda! Anda perlu membuat konfigurasi dalam proyek tertentu sebelum dapat menggunakan transformasi itu. Centang "Buat konfigurasi proyek baru" untuk membuat konfigurasi di semua proyek sekaligus, atau lakukan satu per satu seperti yang dilakukan @ paulv7260.
Patrick
1
Jika masih berwarna abu-abu, pastikan project web Anda memiliki konfigurasi build yang sesuai dengan nama konfigurasi solusi dan pastikan telah dipilih.
jmatthias
45

Saat kami bekerja dengan PublishProfiles, bagi saya jawabannya adalah mengklik kanan pubxmlfile yang relevan (ditemukan di Propertiessubfolder folder proyek PublishProfiles) dan kemudian memilih Add Config Transform. Tidak ada manajer yang dibutuhkan;).

Paul Siersma
sumber
Solusi ini bekerja jauh lebih baik untuk saya karena saya hanya ingin transformasi ini ditambahkan, tidak ada yang lain. Konfigurasi solusi aktif baru berdampak pada semua proyek dalam solusi, yang tidak relevan dalam kasus saya. Terima kasih!
Ben
Sempurna. Bekerja di proyek Formulir Web lama saya yang sekarang sedang saya edit di Visual Studio 2015. Menyukainya. Terima kasih.
bkwdesign
5
Diuji dan dikerjakan pada VS 2015. Namun, saya masih tidak mengerti mengapa "Add Config Transform" berwarna abu-abu
Illidan
20

Dalam kasus saya, dalam Visual Studio 2015, ketika saya membuat solusi baru berdasarkan template proyek, Tambahkan Config Transform berwarna abu-abu - tetapi untuk alasan yang berbeda:

Mengklik "Tampilkan semua file" mengungkapkan file sudah ada di sana - hanya tersembunyi. Karenanya, tombolnya berwarna abu-abu (karena tidak perlu menambahkannya karena sudah ada di sana).

  1. Klik ikon "Tampilkan semua file":
    masukkan deskripsi gambar di sini

  2. Sekarang Anda dapat memperluas "Web.config":
    masukkan deskripsi gambar di sini

  3. Klik dua kali pada salah satu file transformasi ( Web.Debug.configatau Web.Release.config) untuk membuka dan mengeditnya.

Catatan:

  • Saya tidak ingin menambahkan konfigurasi tambahan, cukup gunakan Debug dan Rilis . Jika Anda membuatnya, pilih, dan file transformasi belum ada, maka item menu konteks Add Config Transform aktif dan tidak berwarna abu-abu.

  • Jika Anda ingin membuat file transformasi konfigurasi tambahan , perlu diingat bahwa di Visual Studio, transformasi config berkorelasi dengan konfigurasi. Untuk menambahkan transformasi lain, Anda perlu menambahkan konfigurasi baru terlebih dahulu. Untuk menambahkan yang lain, lakukan hal berikut: Melalui manajer konfigurasi (dropdown di mana Anda dapat memilih Debug atau Rilis), tambahkan konfigurasi baru terlebih dahulu, misalnya myNewConfig. Kemudian pilih myNewConfig. Sekarang pilih Web.config di Solution Explorer, klik kanan dan pilih di menu konteks "Add Config Transform" - itu akan membuat Web.myNewConfig.config. Setelah ada, menu konteks akan berwarna abu-abu lagi, karena VS hanya mengizinkan satu transformasi per konfigurasi.

Matt
sumber
Ini adalah situasinya bagi saya juga. Saya ingin file config transform tetap terlihat, jadi saya berkomentar <DependentUpon>Web.config</DependentUpon>di file proyek. Transformasi masih berfungsi seperti yang diharapkan.
Ethan
Bagaimana cara menambahkan transformasi konfigurasi baru?
Reshma
@Reshma - Dalam Visual Studio, transformasi konfigurasi berkorelasi dengan konfigurasi. Melalui manajer konfigurasi (dropdown di mana Anda dapat memilih Debug atau Rilis), tambahkan konfigurasi baru terlebih dahulu, misalnya myNewConfig. Kemudian pilih myNewConfig. Sekarang pilih Web.config, klik kanan dan pilih di menu konteks "Add Config Transform" - itu akan membuat Web.myNewConfig.config.
Matt
Saya melakukan itu pada Matt dan dapat menambahkan satu file konfigurasi tetapi saya mencoba menambahkan file konfigurasi lain dan sekarang lagi "tambahkan Transformasi Konfigurasi" menjadi abu-abu. Saya juga membuat file konfigurasi baru untuk file konfigurasi berikutnya
Reshma
1
@Reshma - Benar, karena Anda hanya dapat memiliki satu per konfigurasi. Untuk mendapatkan yang lain, tambahkan satu konfigurasi tambahan, misalnya, myNewConfig2. Kemudian pilih myNewConfig2 dan coba lagi. Seharusnya tidak berwarna abu-abu kali ini - pilihlah. Catatan: Ini akan menjadi abu-abu segera setelah file konfigurasi untuk konfigurasi itu ada.
Matt
2

Saya menyelesaikan ini dengan menyadari dua hal:

  1. Ada konfigurasi tingkat Solusi , dan ada konfigurasi tingkat Proyek . Web.MyConfigName.config dibuat berdasarkan konfigurasi tingkat proyek .
  2. Tampaknya Visual Studio 2017 Configuration Manager mendasarkan konfigurasi apa yang akan ditambahkan dari folder obj (tersembunyi). Menghapus folder obj untuk proyek dan membangun kembali akan memperbarui proyek dengan konfigurasi yang Anda tambahkan.

Untuk membuat opsi "tambahkan transformasi konfigurasi" tersedia, ikuti langkah-langkah berikut:

  1. Pastikan Anda telah mengaktifkan Show Hidden Files
  2. Buka manajer konfigurasi untuk Solusi
  3. Pilih konfigurasi Solusi yang relevan , lalu di menu tarik-turun di samping pilih proyek Anda <New..>atau <Edit..>dan tambahkan, hapus, atau edit konfigurasi Proyek yang Anda inginkan.
  4. Hapus folder obj di proyek Anda. Membangun kembali. Pastikan Anda menyimpan perubahan ke proyek dan file solusi Anda. Saya juga merestart studio visual, karena kenapa tidak. Pastikan Anda melihat semua konfigurasi proyek Anda sebagai folder di folder obj Anda.
  5. Klik kanan web.config dan tambahkan transformasi konfigurasi Anda.

Semoga bisa membantu seseorang. :)

Emanuel Lindström
sumber
1

Untuk mendapatkan ini bekerja saya harus menambahkan grup properti baru ke file csproj saya.

Tambahkan Config Transform berwarna abu-abu.

saya menambahkan XML berikut ke csproj saya dan memuat ulang proyek. kemudian Add Config Transform tersedia. setelah dipilih transformasi tambahan saya ditambahkan

<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>
JGilmartin
sumber
1

Cara mengaktifkan opsi "Add Config Transform". Ikuti langkah-langkah di bawah ini. Langkah 1: Pergi ke konfigurasi Solusi (Di Bawah Tim) Pergi ke konfigurasi Solusi (Di Bawah Tim)

Langkah2: Klik pada Manajer Konfigurasi. Klik pada manajer konfigurasi

Langkah 3: Pilih Baru dari jendela konfigurasi solusi Aktif Pilih Baru dari jendela konfigurasi solusi Aktif

Step4: Sekarang berikan nama yang berarti untuk item baru Anda seperti Production / Staging dan pilih pengaturan copy dari opsi "Release". Pastikan Anda mencentang kotak centang jika tidak datang secara default dan klik OK. Sekarang beri nama yang berarti untuk item baru Anda seperti Production / Staging

Langkah 5: Sekarang kembali ke penjelajah solusi Anda dan klik kanan pada file Web.Config Anda. Tambahkan Config Transform sekarang diaktifkan

Halo! Tambahkan Config Transform sekarang diaktifkan. :)

nitin27verma.dll
sumber