2008-12-09 10 views
1

Je suis en train de créer un nouveau site Web sur un serveur distant via msbuild (j'aime l'appeler "msdeploy"). J'ai téléchargé et utilisé les tâches SDC, les tâches MSBuildExtension et les tâches MSBuildCommunity, mais je ne peux tout simplement pas le faire correctement.Définition de la version ASP.NET via MSBUILD

Je suppose que WebDirectorySetting (de MSBuild.Community.Tasks.IIS) est mon meilleur pari mais je ne peux pas trouver le bon paramètre SettingName à transmettre.

Je voudrais utiliser une sorte de tâche MSBuild pour accomplir ceci mais peut-être n'existe-t-elle pas. VBS personnalisés ou WMI sont mon dernier recours ...

Merci

Répondre

1

merci pour vos réponses. Je me suis amusé à faire ces deux suggestions, mais ni "exactement" ce que je cherchais - même si cela fait le travail. Je ne peux pas non plus nous voir revenir à la version 1.1, donc nous avons fini par en faire la configuration par défaut, mais je garde toujours l'espoir qu'il y a un réglage magique sur une tâche qui peut le faire.

merci encore

1

J'ai essayé de faire la même chose pendant un certain temps, mais a fini par se rendre compte que nous utilisons essentiellement la version 2.0 pour tout, donc je fait que le défaut avec aspnet_regiis sur les machines sur lesquelles je suis déployé.

Si vous pouvez exécuter une commande shell sur le serveur distant, vous pouvez utiliser aspnet_regiis.exe avec -sn pour enregistrer une version spécifique d'asp.net dans une application.

http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx

1

Exécutez l'outil aspnet_regiis à partir de votre tâche msbuild avec une balise Exec. Ce n'est pas aussi "propre", mais ça marche.

0

Rien de tout cela fonctionne simple que les lignes suivantes:

d'abord, créez le répertoire du site:

<WebDirectoryCreate 
    ServerName="$(DeployServerName)"   
    VirtualDirectoryName="MyVirualSiteName" /> 

Deuxièmement, appliquer la version ASP.NET que vous voulez:

<InstallAspNet 
    Path="W3SVC/1/Root/MyVirualSiteName" 
    Version="Version20" /> 

Faites de mon mieux,

2

sur IIS7 vous pouvez le faire de cette façon avec MSBuild Extension Pack:

<MSBuild.ExtensionPack.Web.Iis7AppPool TaskAction="Create" 
       Name="$(AppPool)" 
       IdentityType="SpecificUser"     
       PipelineMode="Integrated" 
       ManagedRuntimeVersion="v4.0" 
       PoolIdentity="$(UserName)" 
       IdentityPassword="$(UserPassword)" 
+0

Exactement ce que je avais besoin, merci :) +1 –

Questions connexes