2010-09-01 19 views
17

MSDeploy API'sini kullanan bazı PowerShell komut dosyaları yazıyorum. Ben GAC konumdurMicrosoft.Web.Deployment yüklemek için Add-Type'ı nasıl kullanırım?

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Deployment") 

kullanarak takımını yükleyebilirsiniz:

PS > [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Deployment") | fl Location 

Location : C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Deployment\7.1.0.0__31bf3856ad364e35\Microsoft.Web.Deployment.dll 

Ancak, ben Add-Type kullanarak derleme yükleme mümkün değilim. Derleme bulunamadı ve bir veya daha fazla derlemenin eksik olduğunu belirten bir hata alıyorum.

PS > Add-Type -AssemblyName Microsoft.Web.Deployment 
Add-Type : Cannot add type. The assembly 'Microsoft.Web.Deployment' could not be found. 
At line:1 char:9 
+ Add-Type <<<< -AssemblyName Microsoft.Web.Deployment 
    + CategoryInfo   : ObjectNotFound: (Microsoft.Web.Deployment:String) [Add-Type], Exception 
    + FullyQualifiedErrorId : ASSEMBLY_NOT_FOUND,Microsoft.PowerShell.Commands.AddTypeCommand 

Add-Type : Cannot add type. One or more required assemblies are missing. 
At line:1 char:9 
+ Add-Type <<<< -AssemblyName Microsoft.Web.Deployment 
    + CategoryInfo   : InvalidData: (:) [Add-Type], InvalidOperationException 
    + FullyQualifiedErrorId : ASSEMBLY_LOAD_ERRORS,Microsoft.PowerShell.Commands.AddTypeCommand 

Microsoft.Web.Deployment yüklemek için Add-Type özelliğini nasıl kullanabilirim?

+0

Hiç bu işe yaramadı mı? – JeffreyABecker

cevap

25

PowerShell, yalnızca belirli bir önceden tanımlanmış derleme grubunun kısmi/basit adlarıyla yüklenmesine izin verir. Tam yetkili adıyla yüklemeniz gerekecek, örneğin:

Add-Type -AssemblyName ('Microsoft.Web.Deployment, Version=7.1.0.0, ' + 
         'Culture=neutral, PublicKeyToken=31bf3856ad364e35') 
+1

whyyyyyyy? Bunu ne sıklıkla yapmak istediğimi bilmiyorum. Görsel stüdyo için yaptığımız gibi en son sürümü yükleyen bir 'add-type -gac microsoft.some.assembly' varsa çok kolay olurdu. – Nacht

+2

Her zaman yolu ile yükleyebilirsiniz -Yaz-Türü -Yolu C: \ Windows \ Microsoft.NET \ assembly \ GAC_64 \ System.Web \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Web.dll' –

+0

Evet ama bu can sıkıcı ve Yolu ve eşyaları bulmalısın. otomatik olarak bunu yapmak ve profilime koymak için bir işlev oluşturmak benim için kolay olurdu ama microsoft bunu yapmamıştı şaşırdım. Ah belki iyi bir sonraki versiyonu. belki onlara bir yere önermeliyim – Nacht

İlgili konular