Aracılığıyla paylaş


Kapsayıcı Araçları başlatma ayarları

ASP.NET Core projesindeki Özellikler klasöründe, web uygulamanızın geliştirme makinenizde nasıl başlatıldığını denetleyen ayarları içeren launchSettings.json dosyasını bulabilirsiniz. Bu dosyanın ASP.NET geliştirmede nasıl kullanıldığı hakkında ayrıntılı bilgi için bkz. ASP.NET Core'da birden çok ortam kullanma .

Bu dosyayı doğrudan düzenleyebilirsiniz, ancak Visual Studio IDE'de kullanıcı arabirimi aracılığıyla bu dosyadaki özellikleri de düzenleyebilirsiniz. Başlatma seçeneğinin yanındaki açılan listeyi seçin (örneğin, Docker veya .NET SDK) ve ardından tek kapsayıcılı proje için Hata Ayıklama Özellikleri seçin.

Kapsayıcı başlatma profili için başlatma ayarlarını gösteren başlatma profili iletişim kutusunun ekran görüntüsü.

Docker Compose için, Docker Oluşturma Başlatma Ayarlarını Yönet'iseçin ve bkz. Oluşturma hizmetlerinin bir alt kümesini başlatma.

launchSettings.json'da Docker bölümündeki ayarlar, Visual Studio'nın kapsayıcılı uygulamaları nasıl işlediğiyle ilgilidir.

    "Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
      "DockerfileRunArguments": "-l mylabel=value",
      "environmentVariables": {
        "ASPNETCORE_URLS": "https://+:443;http://+:80",
        "ASPNETCORE_HTTPS_PORT": "44360"
      },
      "httpPort": 51803,
      "useSSL": true,
      "sslPort": 44360
    }
    "Docker (Dockerfile)": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
      "environmentVariables": {
        "ASPNETCORE_HTTPS_PORTS": "8081",
        "ASPNETCORE_HTTP_PORTS": "8080"
      },
      "publishAllPorts": true,
      "useSSL": true
    }

Ayrıca, Hem Docker hem de Podman kapsayıcı çalışma zamanlarında çalışsa "Container (Dockerfile)" da, Podman'ı kullanmak istiyorsanız daha doğru olan değerini de "Docker (Dockerfile)"kullanabilirsiniz.

commandName ayarı, bu bölümün Kapsayıcı Araçları için geçerli olduğunu belirler.

dockerfile veya .NET SDK'sının yerleşik kapsayıcı derleme desteğini (.NET 7 ve üzeri için kullanılabilir) kullanıyor olmanız fark etmeksizin launchSettings.json ayarların çoğu kullanılabilir ve uygulanabilir.

Aşağıdaki tabloda, bu bölümde ayarlanabilen özellikler gösterilmektedir:

Hata Ayıklama Profili Kullanıcı Arabirimindeki Özellik launchSettings.json'da ayar adı Örnek Açıklama
Komut satırı bağımsız değişkenleri commandLineArgs "commandLineArgs": "--mysetting myvalue" Uygulamanızı başlatmaya yönelik bu komut satırı bağımsız değişkenleri, projenizi kapsayıcıda başlatırken kullanılır.
Kapsayıcı çalıştırma bağımsız değişkenleri containerRunArguments
ContainerRunArguments
"containerRunArguments": "-l mylabel=value" docker run komutuna geçirmek için ek bağımsız değişkenler.

(Visual Studio 17.12 ve sonraki sürümlerde küçük harf sürümünü kullanın. Büyük harfli sürüm Visual Studio 17.9'da kullanıma sunulmuştur ve geriye dönük uyumluluk için sağlanmıştır.)

Aşağıdaki değiştirme belirteçlerini kullanabilirsiniz:

- {ProjectDir} - Proje dizininin tam yolu.

- {OutDir} - MSBuild özelliğinin OutDir değeri.
YOK DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" containerRunArgumentsgibi, ancak yalnızca Dockerfile derleme türünü kullanan projeler için. Visual Studio 17.12 ve üzeri için bunun yerine containerRunArguments kullanılması önerilir.
Ortam Değişkenleri çevre değişkenleri "environmentVariables": {
Microsoft.Network/virtualNetworks/write,
"ASPNETCORE_HTTPS_PORT": "44381"
}
Bu ortam değişkeni değerleri kapsayıcıda başlatıldığında işleme geçirilir.
Kapsayıcı Adı konteynerAdı mycontainer (17.12 ve üzeri) [a-zA-Z0-9][a-zA-Z0-9_.-]normal ifadeyle eşleşen kapsayıcının adı.
Kapsayıcı ortam dosyaları containerRunEnvironmentFiles "containerRunEnvironmentFiles": "abc.env;xyz.env" (17.12 ve üzeri) Ortam değişkeni dosyalarının (.env dosyaları) noktalı virgülle ayrılmış listesi. .env dosyası söz dizimine bakın.
HTTP Bağlantı Noktası httpPort (HttpBağlantı Noktası "httpPort": 24051 Konak üzerindeki bu bağlantı noktası, kapsayıcı başlatılırken kapsayıcının bağlantı noktası 80'e eşlenir.
Tarayıcıyı Başlat tarayıcıyı başlat "launchBrowser": true Projeyi başarıyla başlattıktan sonra tarayıcının başlatılıp başlatılmayacağını gösterir.
YOK launchBrowserTimeout "launchBrowserTimeout": 1 Tarayıcıyı başlatmadan önce uygulamanın hazır olmasını bekleme süresi (saniye cinsinden) üst sınırı (yalnızca Docker Compose).
URL launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Bu URL, tarayıcı başlatılırken kullanılır. Bu dize için desteklenen değiştirme belirteçleri şunlardır:

- {Scheme} - SSL'nin kullanılıp kullanılmadığına bağlı olarak http veya httpsile değiştirilir.

- {ServiceHost} - Genellikle localhostile değiştirilir.
Ancak Windows 10 RS3 veya daha eski sürümlerde Windows kapsayıcılarını hedeflediğinizde, kapsayıcının IP'siyle değiştirilir.

- {ServicePort} - SSL'nin kullanılıp kullanılmadığına bağlı olarak genellikle sslPort veya httpPort ile değiştirilir.
Windows 10 RS3 veya daha eski sürümlerde Windows kapsayıcılarını hedeflediğinizde, SSL'nin kullanılıp kullanılmadığına bağlı olarak 443 veya 80ile değiştirilir.
Tüm bağlantı noktalarını yayımlama publishAllPorts "publishAllPorts": true True ise, -Pdocker rungeçirin. Bu, kullanıma sunulan tüm bağlantı noktalarını rastgele bir bağlantı noktasına yayımlar. docker belgelerine bakın. Ancak, sslPortbelirttiğinizde, Visual Studio -p 5002:443'ı yine de geçirir, bu nedenle hizmetiniz 5002 numaralı bağlantı noktasını dinlemeye devam etmelidir.
SSL Bağlantı Noktası sslPort "sslPort": 44381 Konak üzerindeki bu bağlantı noktası, kapsayıcı başlatılırken kapsayıcının 443 numaralı bağlantı noktasına eşlenir.
YOK useSSL "useSSL": true Projeyi başlatırken SSL kullanılıp kullanılmayacağını gösterir. useSSL belirtilmezse, sslPort > 0ssl kullanılır.

Kullanıcı arabiriminde tüm ayarlar kullanılamaz, örneğin useSSL. Bu ayarları değiştirmek için launchSettings.json doğrudan düzenleyin.

Ayarın yerini Visual Studio 2022 17.12 ve sonraki DockerfileRunArgumentssürümlerde alır. Bu ayarcontainerRunArguments, Başlatma Profilleri kullanıcı arabiriminde olarak Container run argumentsayarlanabilir.

Not

Aynı ayar hem proje dosyasında hem de başlatma ayarları dosyasında bulunursa başlatma ayarları dosyasındaki değer önceliklidir.

Hata Ayıklama Profili Kullanıcı Arabirimindeki Özellik launchSettings.json'da ayar adı Örnek Açıklama
Komut satırı bağımsız değişkenleri commandLineArgs "commandLineArgs": "--mysetting myvalue" Uygulamanızı başlatmaya yönelik bu komut satırı bağımsız değişkenleri, projenizi kapsayıcıda başlatırken kullanılır.
Kapsayıcı çalıştırma bağımsız değişkenleri containerRunArguments
ContainerRunArguments
"containerRunArguments": "-l mylabel=value" veya docker run komutuna geçirmek için podman run ek bağımsız değişkenler.

(Visual Studio 17.12 ve sonraki sürümlerde küçük harf sürümünü kullanın. Büyük harfli sürüm Visual Studio 17.9'da kullanıma sunulmuştur ve geriye dönük uyumluluk için sağlanmıştır.)

Aşağıdaki değiştirme belirteçlerini kullanabilirsiniz:

- {ProjectDir} - Proje dizininin tam yolu.

- {OutDir} - MSBuild özelliğinin OutDir değeri.
YOK DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" containerRunArgumentsgibi, ancak yalnızca Dockerfile derleme türünü kullanan projeler için. Bunun yerine kullanılması containerRunArguments önerilir.
Ortam Değişkenleri çevre değişkenleri "environmentVariables": {
Microsoft.Network/virtualNetworks/write,
"ASPNETCORE_HTTPS_PORT": "44381"
}
Bu ortam değişkeni değerleri kapsayıcıda başlatıldığında işleme geçirilir.
Yürütülebilir Yol executablePath "executablePath": "myprogram.exe" Hata ayıklarken, hata ayıklayıcıya bu yürütülebilir dosyayı başlatması istenir.
Kapsayıcı Adı konteynerAdı mycontainer (17.12 ve üzeri) [a-zA-Z0-9][a-zA-Z0-9_.-]normal ifadeyle eşleşen kapsayıcının adı.
Kapsayıcı ortam dosyaları containerRunEnvironmentFiles "containerRunEnvironmentFiles": "abc.env;xyz.env" (17.12 ve üzeri) Ortam değişkeni dosyalarının (.env dosyaları) noktalı virgülle ayrılmış listesi. .env dosyası söz dizimine bakın.
HTTP Bağlantı Noktası httpPort (HttpBağlantı Noktası "httpPort": 24051 Konak üzerindeki bu bağlantı noktası, kapsayıcı başlatılırken kapsayıcının HTTP bağlantı noktasıyla eşlenir. Ve ortam değişkenlerini ASPNETCORE_URLSASPNETCORE_HTTP_PORTSkullanarak bağlantı noktaları belirtmediğiniz sürece kapsayıcı bağlantı noktası 80 kullanılır.
Tarayıcıyı Başlat tarayıcıyı başlat "launchBrowser": true Projeyi başarıyla başlattıktan sonra tarayıcının başlatılıp başlatılmayacağını gösterir.
YOK launchBrowserTimeout "launchBrowserTimeout": 1 Tarayıcıyı başlatmadan önce uygulamanın hazır olmasını bekleme süresi (saniye cinsinden) üst sınırı (yalnızca Docker Compose).
URL launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Bu URL, tarayıcı başlatılırken kullanılır. Bu dize için desteklenen değiştirme belirteçleri şunlardır:

- {Scheme} - SSL'nin kullanılıp kullanılmadığına bağlı olarak http veya httpsile değiştirilir.

- {ServiceHost} - Genellikle localhostile değiştirilir.
Ancak Windows 10 RS3 veya daha eski sürümlerde Windows kapsayıcılarını hedeflediğinizde, kapsayıcının IP'siyle değiştirilir.

- {ServicePort} - SSL'nin kullanılıp kullanılmadığına bağlı olarak genellikle sslPort veya httpPort ile değiştirilir.
Ancak Windows 10 RS3 veya daha eski sürümlerde Windows kapsayıcılarını ASPNETCORE_URLS hedeflerken, ortam değişkenleri tarafından belirtilen HTTP veya HTTPS bağlantı noktasıyla ve ASPNETCORE_HTTP_PORTSayarlanmadıysa HTTP için 80 ve HTTPS için 443 ile değiştirilir.
Tüm bağlantı noktalarını yayımlama publishAllPorts "publishAllPorts": true True ise, -Pdocker rungeçirin. Bu, kullanıma sunulan tüm bağlantı noktalarını rastgele bir bağlantı noktasına yayımlar. docker belgelerine bakın. Ancak, sslPortbelirttiğinizde, Visual Studio -p 5002:443'ı yine de geçirir, bu nedenle hizmetiniz 5002 numaralı bağlantı noktasını dinlemeye devam etmelidir.
SSL Bağlantı Noktası sslPort "sslPort": 44381 Konak üzerindeki bu bağlantı noktası, kapsayıcı başlatılırken kapsayıcının HTTPS bağlantı noktasına eşlenir. Ve ortam değişkenlerini ASPNETCORE_URLSASPNETCORE_HTTP_PORTSkullanarak bağlantı noktaları belirtmediğiniz sürece kapsayıcı bağlantı noktası 443 kullanılır.
YOK useSSL "useSSL": true Projeyi başlatırken SSL kullanılıp kullanılmayacağını gösterir. useSSL belirtilmezse, sslPort > 0ssl kullanılır.
Çalışma dizini çalışmaDizini "workingDirectory": "c:\path\to\folder" Hata ayıklarken, hata ayıklayıcıya bu yolu çalışma dizini olarak kullanması istenir.

Kullanıcı arabiriminde tüm ayarlar kullanılamaz, örneğin useSSL. Bu ayarları değiştirmek için launchSettings.json doğrudan düzenleyin.

, containerRunArguments Başlatma Profilleri kullanıcı arabiriminde olarak Container run argumentsayarlanabilir. Eski MSBuild özelliğine DockerfileRunArgumentseşdeğerdir.

Not

Aynı ayar hem proje dosyasında hem de başlatma ayarları dosyasında bulunursa başlatma ayarları dosyasındaki değer önceliklidir.

Sonraki adımlar

Kapsayıcı Araçları derleme özellikleriniayarlayarak projenizi yapılandırın.

Ayrıca bkz.