2009-09-07 15 views
5

Bunu yerel olarak eklenti veya üçüncü taraf araçları olmadan yapmak mümkün mü?Msbuild kullanarak GAC'ye nasıl kurulur?

Gacutil olduğunu biliyorum, ancak çalıştırmak için bir exe yoktur, aksi takdirde Exec görevinden çağırmış olabilirdim.

Herkes benzer bir şey yaptı mı?

+1

"Çalışmak için bir exe yok" ile ne demek istediğini anlamıyorum. gacutil kesinlikle çalıştırabilirsiniz bir exe olduğunu ... –

+0

yea, gacutil bir exe olduğunu –

+0

sanırım haklısın! yanıldım. –

cevap

0

Gacuti.exe, birden çok yerde olabilir. Sistem% path% değişkeninde değil, bu yüzden tam yolu kullanmanız gerekecek (aksi takdirde çalışmaz).
Ben C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\ kullanın:

: -i MyAssembly.dll

O bildirildi "C Bin \ Gacutil.exe \ \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0" yanı diğer yerlerde bulunabilir:

C: \ WINDOWS \ Microsoft.NET \ Framework \ v1.1.4322 \ Gacutil.exe
C: \ Program Files \ Microsoft SDK'leri \ Windows \ v6.0A \ bin \ gacutil.exe
C: dir gacutil.exe /s /a: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \

o pencere arama veya komut satırını kullanarak bulmak kolay bir yolu Gacutil.exe.

Maalesef, gacutil'in bulunmadığı bazı sunucuları tohumlamıyorum ve dll'leri manuel olarak yüklemek zorunda kaldım.

+3

Resmi olarak gacutil bir SDK aracıdır, bu nedenle en "doğru" konum, "CurrentInstallFolder" değeri altında "HKLM \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows" kayıt defteri anahtarında bulunan yol olacaktır. – bobbymcr

+0

Bu iyi biliyorsun. Teşekkürler. – Kobi

1

Gacutil.exe, .NET derlemeleri "dev kutusu" yüklemelerini yapmak için standart desteklenen bir araçtır. Derlemeleri bir derleme görevinin parçası olarak GAC yapmak istiyorsanız, bunu çalıştırmayı istediğiniz gibi Exec görevini kullanmanızı tavsiye ederim. Eğer gerçekten yeni bir süreç oluşturmadan bunu yapmak istiyor Eğer

, o zaman Gacutil.exe ne yapmak için gerekli COM birlikte aramaları uygulamak için özel bir MSBuild görev yazmak gerekirdi. Bu rotaya gitmek istiyorsanız Junfeng Zhang's blog post iyi bir başlangıç ​​noktası olacaktır.

6

MSBuild Community Tasks'ten (ücretsiz) "GacUtil" görevini kullanmalısınız. Bunun, yürütülebilir dosyayı çağırmaktan daha temiz olduğunu düşünüyorum.

+0

+1 Dahili olarak, BTB aracını aramak yerine GAC API'lerini çağırır –