Je dois convertir un projet démarré en tant qu'application Web en classe Libray, est-ce possible?Comment convertir un projet d'application Web en projet de bibliothèque de classes
Merci
Je dois convertir un projet démarré en tant qu'application Web en classe Libray, est-ce possible?Comment convertir un projet d'application Web en projet de bibliothèque de classes
Merci
La bonne réponse est oui. Il suffit de modifier le fichier csproj (msbuild) et changer le ProjectGuid et de supprimer les ProjectTypeGuids:
<ProjectGuid>{9845066A-3C9E-4F51-8F5F-8F513E8D03C1}</ProjectGuid>
Il est vraiment aussi simple que cela.
No. Votre meilleur pari est de créer un Class.Library et copiez les fichiers .cs dans votre nouveau projet.
Une bibliothèque de classes ne fera rien avec des pages .aspx, elle les verra comme des fichiers dans la solution.
J'ai une application Web principale qui charge des contrôles à partir d'une autre application Web. Il devrait les charger à partir d'une bibliothèque de classes, parce que j'ai maintenant deux fichiers web.config et c'est ennuyeux. –
Je suis venu ici pour avoir une bibliothèque de classes avec des éléments de menu mvc. C'est, faites un clic droit sur le dossier des vues pour ajouter une vue ou un contrôleur pour ajouter un contrôleur dans une bibliothèque de classes.
J'ai été capable d'y parvenir en éditant mon mvc.web.app.csproj, copiez le <ProjectTypeGuids />
dans mon projet class.lib.csproj.
Pour plus de contexte sur ce que je fais, voir: How to reuse Areas, Controllers, Views, Models, Routes in multiple apps or websites.
Si vous voulez faire exactement la même chose que d'un projet de bibliothèque de classes, voici comment le faire pour un projet Visual Studio 2010:
Modifier le fichier csproj
PropertyGroup
ProjectTypeGuids
UseIISExpress
<FileAlignment>512</FileAlignment>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<ProjectExtensions>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
OutputPath
-bin\Debug\
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
OutputPath
-bin\Release\
Ouvrez le projet dans Visual Studio
Cela a fonctionné pour moi dans VS2013. – Tom
Fonctionne également dans VS2015 –
J'ai VS2010 et ce guid n'a pas fonctionné pour moi, j'ai essayé celui-ci: ' {2CAAF0E8-A840-4ABF-BF2A-BCD4338D80B5} ProjectGuid>' –
Quel est le point de changer 'ProjectGuid'? Cela n'identifie-t-il pas uniquement le projet? Pour moi, il semble qu'un nouveau soit généré pour chaque projet. – Sam
Comme alternative ** changer le type de sortie du projet à la bibliothèque de classes, vous pouvez trouver que dans les propriétés de votre projet sous l'onglet Application **, voir http://stackoverflow.com/a/11536160/313113 – bitek