Pour une bibliothèque commune que j'utilise très souvent pour tous les types de projets, je configure un serveur de nuget. Pendant un moment j'ai publié manuellement le paquet nuget comme:Nuget Packaging échoue après l'avoir automatisé dans VSTS
nuget pack .\ProjectFolder\CommonProjectName.csproj -Symbols -Build -Properties Configuration=Release
et j'ai poussé ce paquet manuellement vers le serveur de nuget.
Maintenant, je veux automatiser cette publication à l'aide VSTS Construire vNext comme décrit dans ce blogitem: http://www.codewrecks.com/blog/index.php/2015/09/26/publishing-a-nuget-package-to-nugetmyget-with-vso-build-vnext/
J'utilise le même fichier Nuspec comme avant:
<?xml version="1.0"?>
<package >
<metadata>
<id>Common Library</id>
<version>1.0.0.0</version>
<title>Library Title</title>
<authors>...</authors>
<owners>...</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>...</description>
<releaseNotes>...</releaseNotes>
<copyright>Copyright 2016</copyright>
<tags>...</tags>
<dependencies>
<dependency id="EntityFramework" version="6.1.3" />
<dependency id="log4net" version="2.0.4" />
<dependency id="Microsoft.AspNet.Mvc" version="5.2.3" />
<dependency id="Microsoft.AspNet.Razor" version="3.2.3" />
<dependency id="Microsoft.AspNet.WebPages" version="3.2.3" />
<dependency id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
</dependencies>
</metadata>
</package>
Maintenant, après l'automatisation i obtenir l'erreur suivante messages:
Description: L'assembly 'bin \ Release \ CommonLibrary.dll' ne se trouve pas dans le dossier 'lib' et ne sera donc pas ajouté comme référence lorsque le package est installé dans un projet. Solution: Déplacez-le dans le dossier 'lib' s'il doit être référencé. Problème: Assemblage en dehors du dossier lib. Je lis la section conventions sur le site de nuget, mais comment puis-je me conformer automatiquement à ces conventions? En d'autres termes, comment obtenir la DLL construite et référencée au bon endroit sur mon buidcontroller.
Merci pour l'aide,
Meilleures salutations, Luuk Krijnen
supplémentaire: après avoir téléchargé le package NuGet via FTP mon code source complet wel Als mes sources compilées sont ajoutées au paquet dans un arbre comme mon code source d'origine. Donc, mon dll compilé est à l'intérieur de dossier \ Bin \ Release \