Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğretici, diğer kullanıcıların çalıştırabilmesi için bir konsol uygulamasının nasıl yayımlandığını gösterir. Yayımlama, bir uygulamayı çalıştırmak için gereken dosya kümesini oluşturur. Dosyaları dağıtmak için hedef makineye kopyalayın.
.NET CLI, uygulamayı yayımlamak için kullanılır.
Önkoşullar
- Bu öğretici , Visual Studio Code kullanarak .NET konsol uygulaması oluşturma bölümünde oluşturduğunuz konsol uygulamasıyla çalışır.
Uygulamayı yayımla
Visual Studio Code’u başlatın.
Visual Studio Code kullanarak .NET konsol uygulaması oluşturma bölümünde oluşturduğunuz HelloWorld proje klasörünü açın.
Ana menüdenTerminali> seçin.
Terminal HelloWorld klasöründe açılır.
Aşağıdaki komutu çalıştırın:
dotnet publishVarsayılan derleme yapılandırması, üretimde çalışan dağıtılan bir site için uygun olan Yayın'dır. Yayın derleme yapılandırmasının çıktısı en az simgesel hata ayıklama bilgilerine sahiptir ve tam olarak iyileştirilmiştir.
Komut çıktısı aşağıdaki örneğe benzer:
Restore complete (1.1s) HelloWorld net10.0 succeeded (7.8s) → bin\Release\net10.0\publish\ Build succeeded in 10.3s
Visual Studio Code kullanarak .NET konsol uygulaması oluşturma bölümünde oluşturduğunuz GitHub Codespace'i açın.
aşağıdaki kod satırını HelloWorld.cs en üstüne ekleyin:
#:property PublishAot=falseBu özellik yönergesi, yerel zamandan önce derlemeyi (AOT) devre dışı bırakır ve uygulama, çalışma zamanında standart tam zamanında (JIT) derleyicisini kullanır. Yayımlanan çıkış çerçeveye bağımlı olacaktır.
Terminalde öğreticiler klasöründe olduğunuzdan emin olun.
Aşağıdaki komutu çalıştırın:
dotnet publish HelloWorld.cskomutu bağımsız bir yürütülebilir dosya oluşturur.
Komut çıktısı aşağıdaki örneğe benzer:
Restore complete (0.5s) HelloWorld net10.0 succeeded (4.0s) → artifacts\HelloWorld\ Build succeeded in 5.1s
Dosyaları inceleme
Yayımlama işlemi varsayılan olarak, yayımlanan uygulamanın .NET çalışma zamanının yüklü olduğu bir makinede çalıştığı bir dağıtım türü olan çerçeveye bağımlı bir dağıtım oluşturur. Yayımlanan uygulamayı çalıştırmak için yürütülebilir dosyayı kullanabilir veya komutu bir komut isteminden çalıştırabilirsiniz dotnet HelloWorld.dll .
Aşağıdaki adımlarda yayımlama işlemi tarafından oluşturulan dosyalara göz atacaksınız.
Sol gezinti çubuğunda Gezgin'i seçin.
bin/Release/net10.0/publish genişletin.
Resimde gösterildiği gibi, yayımlanan çıktı aşağıdaki dosyaları içerir:
HelloWorld.deps.json
Bu, uygulamanın çalışma zamanı bağımlılıkları dosyasıdır. Uygulamayı çalıştırmak için gereken .NET bileşenlerini ve kitaplıkları (uygulamanızı içeren dinamik bağlantı kitaplığı dahil) tanımlar. Daha fazla bilgi için bkz . Çalışma zamanı yapılandırma dosyaları.
HelloWorld.dll
Bu, uygulamanın çerçeveye bağımlı dağıtım sürümüdür. Bu dinamik bağlantı kitaplığını çalıştırmak için komut istemine girin
dotnet HelloWorld.dll. Uygulamayı çalıştırmanın bu yöntemi.NET çalışma zamanının yüklü olduğu herhangi bir platformda çalışır.HelloWorld.exe (Linux veya macOS'ta HelloWorld .)
Bu, uygulamanın çerçeveye bağımlı yürütülebilir sürümüdür. Dosya işletim sistemine özgüdür.
HelloWorld.pdb (dağıtım için isteğe bağlı)
Bu hata ayıklama simgeleri dosyasıdır. Bu dosyayı uygulamanızla birlikte dağıtmanız gerekmez, ancak uygulamanızın yayımlanmış sürümünde hata ayıklamanız gerektiğinde dosyayı kaydetmeniz gerekir.
HelloWorld.runtimeconfig.json
Bu, uygulamanın çalışma zamanı yapılandırma dosyasıdır. Uygulamanızın üzerinde çalıştırılacak şekilde derlendiği .NET sürümünü tanımlar. Buna yapılandırma seçenekleri de ekleyebilirsiniz. Daha fazla bilgi için bkz. .NET çalışma zamanı yapılandırma ayarları.
Tek dosyalı bir uygulama için, derleme süreci sonucu derlenmiş bir bütünleştirilmiş kod dosyası içeren bir çıktı dizini oluşturulur. Yayınlanmış uygulama, dotnet komutu kullanılarak çalıştırılabilir.
Aşağıdaki adımlarda yayımlama işlemi tarafından oluşturulan dosyalara göz atacaksınız.
Sol gezinti çubuğunda Gezgin'i seçin.
Yapıtları/HelloWorld'i genişletin.
Resimde gösterildiği gibi, yayımlanan çıktı aşağıdaki dosyaları içerir:
Helloworld
Bu, uygulamanın çerçeveye bağımlı yürütülebilir sürümüdür. Dosya işletim sistemine özgüdür. Codespaces Linux üzerinde çalıştığından bu bir Linux yürütülebilir dosyasıdır.
HelloWorld.deps.json
Bu, uygulamanın çalışma zamanı bağımlılıkları dosyasıdır. Uygulamayı çalıştırmak için gereken .NET bileşenlerini ve kitaplıkları (uygulamanızı içeren dinamik bağlantı kitaplığı dahil) tanımlar. Daha fazla bilgi için bkz . Çalışma zamanı yapılandırma dosyaları.
HelloWorld.dll
Bu, uygulamanın çerçeveye bağımlı dağıtım sürümüdür. Bu dinamik bağlantı kitaplığını çalıştırmak için komut istemine girin
dotnet HelloWorld.dll. Uygulamayı çalıştırmanın bu yöntemi.NET çalışma zamanının yüklü olduğu herhangi bir platformda çalışır.HelloWorld.pdb (dağıtım için isteğe bağlı)
Bu hata ayıklama simgeleri dosyasıdır. Bu dosyayı uygulamanızla birlikte dağıtmanız gerekmez, ancak uygulamanızın yayımlanmış sürümünde hata ayıklamanız gerektiğinde dosyayı kaydetmeniz gerekir.
HelloWorld.runtimeconfig.json
Bu, uygulamanın çalışma zamanı yapılandırma dosyasıdır. Uygulamanızın üzerinde çalıştırılacak şekilde derlendiği .NET sürümünü tanımlar. Buna yapılandırma seçenekleri de ekleyebilirsiniz. Daha fazla bilgi için bkz. .NET çalışma zamanı yapılandırma ayarları.
Codespaces'tan yerel bilgisayarınıza dosya indirmek için sağ tıklayın ve İndir... öğesini seçin.
Yayımlanan uygulamayı çalıştırma
Gezgin'deyayımla klasörüne sağ tıklayın (macOS'a Ctrl tuşunu basılı tutarak tıklayın) ve Tümleşik Terminalde Aç'ı seçin.
Windows veya Linux'ta yürütülebilir dosyayı kullanarak uygulamayı çalıştırın.
Windows'ta enter tuşuna
.\HelloWorld.exe.Linux'ta enter tuşuna
./HelloWorld.İstemi yanıt olarak bir ad girin ve çıkmak için Enter tuşuna basın.
Herhangi bir platformda komutunu kullanarak
dotnetuygulamayı çalıştırın:Girin
dotnet HelloWorld.dllve Enter tuşuna basın.İstemi yanıt olarak bir ad girin ve çıkmak için Enter tuşuna basın.
Gezgin'deartifacts/HelloWorld klasörüne sağ tıklayın ve Tümleşik Terminalde Aç'ı seçin.
Yürütülebilir dosyayı kullanarak uygulamayı çalıştırın. Girin
./HelloWorldve Enter tuşuna basın.İstemi yanıt olarak bir ad girin ve çıkmak için Enter tuşuna basın.
Ek kaynaklar
- .NET uygulaması yayımlamaya genel bakış
dotnet publish- .NET SDK'sını sürekli tümleştirme (CI) ortamlarında kullanma
Kaynakları temizleme
GitHub, 30 günlük etkinlik dışı kalma süresinden sonra Codespace'inizi otomatik olarak siler. Bu serideki diğer öğreticileri keşfetmeyi planlıyorsanız, Codespace'inizi (kod çalışma alanı) hazır durumda bırakabilirsiniz. .NET SDK'sını indirmek için .NET sitesini ziyaret etmeye hazırsanız Codespace'ınızı silebilirsiniz. Codespace'ınızı silmek için bir tarayıcı penceresi açın ve Codespaces'inize gidin. Pencerede kod boşluklarınızın listesini görürsünüz. Learn öğreticisi kod alanı için girdideki üç noktayı (...) seçin. Ardından "sil"i seçin.
Sonraki Adımlar
Bu öğreticide bir konsol uygulaması yayımladınız. Sonraki öğreticide bir sınıf kitaplığı oluşturacaksınız.