Source personnalisée de NuGet pour MSBuild

NuGet-Logo-2Si vous avez une source de données personnalisée pour vos package NuGet et que vous utiliser MSBuild pour vos solutions, MSBuild ne sera pas en mesure de restaurer ces packages.

Pour y arriver sans ajouter des fichiers de configuration spécifiques à vos solutions .Net, il vous suffit d’ajouter un fichier NuGetDefaults.config dans le répertoire %ProgramData%\NuGet\NuGetDefaults.config de votre serveur de build. Ce fichier sera ouvert à chaque build nécessitant la restauration de packages et permettra de voir vos sources de packages NuGet d’entreprises ou personnels.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="Ma source de packages Nuget" value=https://masupersource.com/F/MonFeed />
    </packageSources>
</configuration>

Merci à cette page de MyGet pour l’info!

Bonne intégration continue!

SharePoint 2010 and VS2010: Scripts de post-déploiement

Le contexte

Vous développer une application SharePoint 2010 à l’aide de Visual Studio 2010 sur un serveur Windows 2008 64 bits. Vous désirer rouler un script post-déploiement (Powershell par exemple) pour déboguer:

image

Le problème

Lorsque vous y mettez un script, par exemple:

powershell $(ProjectDir)\PowerShellScript\MonSuperScriptPowerShell.ps1

Vous obtenez toujours une erreur lors de l’exécution du script:

Error occurred in deployment step 'Run Post-Deployment Command': The command "powershell $(ProjectDir)\PowerShellScript\MonSuperScriptPowerShell.ps1" exited with error code: 1.

Cette erreur est dû au fait que VS2010 roule dans un mode 32 bits, ainsi que ses scripts post-déploiement, et que les API de SharePoint 2010 roule dans un mode 64 bits. Ce qui crée des erreurs lors de l’exécution de ce dernier.

La solution

Il faut faire rouler le script en 64 bits pour qu’aucune erreur n’apparaisse. Pour ce faire, nous allons utiliser MSBuild pour faire cela.

Nous allons créer le script MonSuperScriptPowerShell.msbuild:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Install" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
    <Target Name="Install">    
        <Exec Command="powershell .\MonSuperScriptPowerShell.ps1" /> 
    </Target>
</Project>

Celui-ci lorsqu’il sera appelé roulera le script PowerShell dans le mode 64 bits et aucune erreur ne sera généré!

Voici la ligne de commande pour le lancer à partir de VS2010:

%WinDir%\Microsoft.NET\Framework64\v4.0.30319\MSBuild 
$(ProjectDir)\PowerShellScript\MonSuperScriptPowerShell.msbuild

Et voilà, le tour est joué!

Bon post-déploiement!

Source

StackOverflow