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.
Önkoşullar
- Bu öğretici, .NET konsol uygulaması oluşturma bölümünde oluşturduğunuz konsol uygulamasıyla çalışır.
Uygulamayı yayımlayın
Visual Studio'ı başlatın.
HelloWorld projesini açın> .NET konsol uygulaması oluşturun. Visual Studio Sürüm derleme yapılandırmasını kullandığından emin olun. Gerekirse, araç çubuğundaki derleme yapılandırma ayarını Hata Ayıklamadan Yayına değiştirin.
Visual Studio araç çubuğunda sürüm derlemesi seçili.
HelloWorld projesine ( HelloWorld çözümü değil) sağ tıklayın ve menüden Yayımla'yı seçin.
Yayımla sayfasının Hedef sekmesinde Klasör'ü ve ardından İleri'yi seçin.
Visual Studio'da bir yayımlama hedefi seçin. Belirli Hedef sekmesinde Klasör'ü seçin, ardından İleri'yi seçin.
Yayımla sayfasının Konum sekmesinde Son'u seçin.
Yayımlama profili oluşturma ilerleme durumu sayfasında Kapat'ı seçin.
Yayımla penceresinin Yayımla sekmesinde Yayımla'yı seçin.
Visual Studio Code'ı başlatın.
HelloWorld proje klasörünü açın> .NET konsol uygulaması oluşturun. Ana menüden Görünüm>Terminal 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ı minimum simgesel hata ayıklama bilgileri içerir ve tamamen optimize edilmiş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
GitHub Codespace'inizi .NET konsol uygulaması oluştur'da oluşturduğunuzu 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. Kullanıcılar, yürütülebilir dosyaya çift tıklayarak veya komut isteminden komutu vererek dotnet HelloWorld.dll yayımlanan uygulamayı çalıştırabilir.
Aşağıdaki adımlarda yayımlama işlemi tarafından oluşturulan dosyalara göz atacaksınız.
Solution Explorer'da Tüm Dosyaları Göster'i seçin.
Proje klasöründe bin/Release/{net}/publish yolunu genişletin. (Burada {net}, net10.0 gibi hedef çerçeve klasörüdür.)
yayımlanan dosyaları gösteren
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ı yürütmek 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 tüm platformlarda çalışır.HelloWorld.exe
Bu, uygulamanın çerçeveye bağımlı yürütülebilir sürümüdür. Çalıştırmak için komut istemine girin
HelloWorld.exe. 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ışmak üzere oluşturulduğu .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ı.
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 tüm platformlarda ç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ışmak üzere oluşturulduğu .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 tüm platformlarda ç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ışmak üzere oluşturulduğu .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
Çözüm Gezgini'nde publish klasörüne sağ tıklayın ve Tam Yolu Kopyala'yı seçin.
Bir komut istemi açın ve yayımla klasörüne gidin. Bunu yapmak için önce
cdgirin ve ardından tam yolu yapıştırın. Örneğin:cd C:\Projects\HelloWorld\bin\Release\net10.0\publish\Yürütülebilir dosyayı kullanarak uygulamayı çalıştırın:
HelloWorld.exegirin ve 'e basarak'yi girin.İstemi yanıt olarak bir ad girin ve çıkmak için herhangi bir tuşa basın.
Komutunu kullanarak
dotnetuygulamayı çalıştırın:dotnet HelloWorld.dllgirin ve 'e basarak'yi girin.İstemi yanıt olarak bir ad girin ve çıkmak için herhangi bir tuşa basın.
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
.\HelloWorld.exegirin ve Enter tuşlarına basın.Linux'ta
./HelloWorldyazın ve Enter tuşuna basın.İstemi yanıt olarak bir ad girin ve çıkmak için Enter tuşuna basın.
Herhangi bir platformda
dotnetkomutunu kullanarak uygulamayı çalıştırın.dotnet HelloWorld.dllgirin ve 'e basarak'yi girin.İ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 uygulama yayımlamaya genel bakış
dotnet publish- Sürekli tümleştirme (CI) ortamlarında .NET SDK'sını kullanın
Kaynakları temizleme
GitHub, 30 günlük işlem yapılmadıktan 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'yı 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.