Muszę przekonwertować projekt rozpoczęty jako aplikacja sieci Web na klasę Libray, czy to możliwe?Jak przekonwertować projekt aplikacji sieci Web do projektu biblioteki klas
Dzięki
Muszę przekonwertować projekt rozpoczęty jako aplikacja sieci Web na klasę Libray, czy to możliwe?Jak przekonwertować projekt aplikacji sieci Web do projektu biblioteki klas
Dzięki
Prawidłowa odpowiedź brzmi tak. Wystarczy edytować plik csproj (msbuild) i zmienić ProjectGuid i usunąć ProjectTypeGuids:
<ProjectGuid>{9845066A-3C9E-4F51-8F5F-8F513E8D03C1}</ProjectGuid>
to naprawdę jest takie proste.
nr Najprościej jest stworzyć Class.Library i skopiuj pliki .cs do swojego nowego projektu.
Biblioteka klas nie zrobi nic ze stronami .aspx, zobaczy je jako pliki w rozwiązaniu.
Mam główną aplikację internetową, która ładuje formanty z innej aplikacji sieci Web. Powinien załadować je z biblioteki klas, ponieważ w tej chwili mam dwa pliki web.config i jest to nudne. –
Przyszedłem tutaj, aby mieć bibliotekę klas z elementami menu mvc. To jest, kliknij prawym przyciskiem myszy folder widoków, aby dodać widok lub kontroler, aby dodać kontroler w klasie.
Udało mi się to osiągnąć, edytując plik mvc.web.app.csproj, skopiuj kod <ProjectTypeGuids />
do mojego projektu class.lib.csproj.
Aby uzyskać więcej informacji na temat tego, co robię, zobacz: How to reuse Areas, Controllers, Views, Models, Routes in multiple apps or websites.
Jeśli chcesz, aby to dokładnie taka sama jak projekt biblioteki klas, oto jak to zrobić za pomocą Visual Studio 2010 projekt:
edytować plik csproj
PropertyGroup
ProjectTypeGuids
UseIISExpress
<FileAlignment>512</FileAlignment>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
do <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
do bin\Debug\
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
OutputPath
do bin\Release\
Otwórz projekt w Visual Studio
To zadziałało dla mnie w VS2013. – Tom
Działa również w VS2015 –
Mam VS2010 i ten Guid nie działa dla mnie, próbowałem tego: ' {2CAAF0E8-A840-4ABF-BF2A-BCD4338D80B5} ProjectGuid>' –
Jaki jest sens zmiany 'ProjectGuid'? Czy to nie jednoznacznie identyfikuje projekt? Wydaje mi się, że dla każdego projektu generowany jest nowy. – Sam
Jako alternatywę ** zmień typ wydruku projektu na bibliotekę klas, możesz to znaleźć we właściwościach projektu w zakładce Aplikacja **, zobacz http://stackoverflow.com/a/11536160/313113 – bitek