Aracılığıyla paylaş


Dotnet komutları için yükseltilmiş erişim

Yazılım geliştirme en iyi yöntemleri, geliştiricilerin en az ayrıcalık gerektiren yazılımlar yazmasına yol gösterir. Ancak performans izleme araçları gibi bazı yazılımlar işletim sistemi kuralları nedeniyle yönetici izni gerektirir. Aşağıdaki kılavuzda bu tür yazılımları .NET Core ile yazmak için desteklenen senaryolar açıklanmaktadır.

Aşağıdaki komutlar yükseltilmiş olarak çalıştırılabilir:

  • dotnet tool komutlar örneğin dotnet tool install.
  • dotnet run --no-build
  • dotnet-core-uninstall

Yükseltilmiş diğer komutları çalıştırmanızı önermiyoruz. Özellikle dotnet restore, dotnet build ve dotnetrun gibi MSBuild kullanan komutlarla yükseltme önermiyoruz. Birincil sorun, kullanıcı dotnet komutları verdikten sonra kök ve kısıtlanmış bir hesap arasında ileri geri geçiş yaparken karşılaşılan izin yönetimi sorunlarıdır. Kısıtlı bir kullanıcı olarak, kök kullanıcı tarafından oluşturulan bir dosyaya erişiminiz olmadığını fark edebilirsiniz. Bu durumu çözmenin yolları vardır, ancak ilk etapta bunlara girmek gereksizdir.

Kök ve kısıtlı hesap arasında ileri geri geçiş yapmadığınız sürece komutları kök olarak çalıştırabilirsiniz. Örneğin Docker kapsayıcıları varsayılan olarak kök olarak çalıştırıldığından bu özelliğe sahiptir.

Genel araç yüklemesi

Aşağıdaki yönergeler, yürütmek için yükseltilmiş izinler gerektiren .NET araçlarını yüklemenin, çalıştırmanın ve kaldırmanın önerilen yolunu gösterir.

Aracı yükleme

Klasör %ProgramFiles%\dotnet-tools zaten varsa, "Kullanıcılar" grubunun bu dizini yazma veya değiştirme izni olup olmadığını denetlemek için aşağıdakileri yapın:

  • Klasöre sağ tıklayın ve %ProgramFiles%\dotnet-tools seçin. Ortak Özellikler iletişim kutusu açılır.
  • Güvenlik sekmesini seçin. Grup veya kullanıcı adları altında, "Kullanıcılar" grubunun dizini yazma veya değiştirme izni olup olmadığını denetleyin.
  • "Kullanıcılar" grubu dizini yazamıyor veya değiştiremiyorsa, araçları yüklerken dotnet-tools yerine farklı bir dizin adı kullanın.

Araçları yüklemek için yükseltilmiş istemde aşağıdaki komutu çalıştırın. Yükleme sırasında dotnet-tools klasörünü oluşturur.

dotnet tool install PACKAGEID --tool-path "%ProgramFiles%\dotnet-tools".

Genel aracı çalıştırma

Seçenek 1 Yükseltilmiş istemle tam yolu kullanın:

"%ProgramFiles%\dotnet-tools\TOOLCOMMAND"

Seçenek 2 Yeni oluşturulan klasörü öğesine %Path%ekleyin. Bu işlemi yalnızca bir kez yapmanız gerekir.

setx Path "%Path%;%ProgramFiles%\dotnet-tools\"

Ve komutunu şu şekilde çalıştırın:

TOOLCOMMAND

Genel aracı kaldır

Yükseltilmiş bir istemde aşağıdaki komutu yazın:

dotnet tool uninstall PACKAGEID --tool-path "%ProgramFiles%\dotnet-tools"

Yerel araçlar

Araçların yerel kapsamı, kullanıcı başına ve alt dizin ağacı başına belirlenmiştir. Yükseltilmiş çalıştırıldığında, yerel araçlar kısıtlı bir kullanıcı ortamını yükseltilmiş ortamla paylaşır. Linux ve macOS'ta bu, dosyaların yalnızca kök kullanıcı erişimiyle ayarlanmasına neden olur. Kullanıcı kısıtlanmış bir hesaba geri geçtiğinde, artık dosyalara erişemez veya yazamaz. Bu nedenle, yükseltme gerektiren araçların yerel araçlar olarak yüklenmesi önerilmez. Bunun yerine, --tool-path seçeneğini ve genel araçlar için önceki yönergeleri kullanın.

Geliştirme sırasında yükselme

Geliştirme sırasında uygulamanızı test etmek için yükseltilmiş erişime ihtiyacınız olabilir. Bu senaryo, örneğin IoT uygulamaları için yaygındır. Uygulamayı yükseltme olmadan derlemenizi ve ardından yükseltmeyle çalıştırmanızı öneririz. Aşağıdaki gibi birkaç desen vardır:

  • Oluşturulan yürütülebilir dosyayı kullanarak (en iyi başlangıç performansını sağlar):

    dotnet build
    sudo ./bin/Debug/netcoreapp3.0/APPLICATIONNAME
    
  • Yeni ikili dosyalar oluşturmaktan kaçınmak için dotnet run komutunu —no-build bayrağıyla kullanma:

    dotnet build
    sudo dotnet run --no-build
    

Ayrıca bakınız