.net - una - ¿Cómo convertir un proyecto de biblioteca de clase a un proyecto de aplicación web?
librerias de visual studio 2017 (4)
¿Sería más fácil crear un nuevo proyecto web y luego copiar los archivos de clase y * .aspx en el nuevo proyecto web?
Para resumir, debido a algunos problemas con la arquitectura y el hecho de que alguien ya puso algunos archivos .aspx en una biblioteca de clase, me gustaría terminar el cambio y convertir una biblioteca de clase en una aplicación web. Esto es usando Visual Studio 2010 y .NET 4.0. ¿Hay una manera fácil de hacer esto? ¡Gracias!
EDITAR: Esperaba un método mejor que volver a crear el proyecto, tuve demasiados problemas con las referencias rotas cuando traté de crear un nuevo proyecto, incluido uno que nunca pude arreglar.
Cree un nuevo proyecto de aplicación web en su solución y arrastre y suelte todos los archivos de la biblioteca de clases al nuevo proyecto de aplicación web.
Hoy hice esto a mano en Visual Studio 2005 porque me pareció más fácil y más rápido que el anterior. Acabo de difirir un archivo .csproj de aplicación web que funcionaba con mi biblioteca de clase para determinar las diferencias relevantes. Basado en eso, hice los siguientes cambios. Tenga en cuenta que puede ser diferente para otras versiones o para su proyecto individual.
1) Justo después del elemento <ProjectGuid>
cerca de la parte superior, agregué
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
2) <ProjectType>Local</ProjectType>
3) En la parte inferior del archivo, justo antes del cierre </Project>
, agregué
<Import Project="$(MSBuildExtensionsPath)/Microsoft/VisualStudio/v8.0/WebApplications/Microsoft.WebApplication.targets" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>False</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>3291</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>
</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
Ya se mencionó en los comentarios, pero de alguna manera es fácil pasar por alto (al menos me lo perdí). Si aplicó la solución de Brad, pero su proyecto aún no tiene la opción de agregar áreas, controladores y vistas, aún necesita agregar un {E3E379DF-F4C6-4180-9B81-6769533ABE47}
proyecto MVC {E3E379DF-F4C6-4180-9B81-6769533ABE47}
.
La línea ProjectTypeGuids
ahora debería verse así:
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
Como menciona JamesQMurphy, {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
no funcionará en los proyectos de VB. Eso es porque es un guiado de proyecto de C #. Entonces, para el proyecto VB, se debe usar un guid de proyecto VB. Este guid es {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
.
Aquí hay una lista de algunas de las guías de proyecto conocidas (tomadas de este sitio ):
- ASP.NET MVC 1.0 {603C0E0B-DB56-11DC-BE95-000D561079B0}
- ASP.NET MVC 2.0 {F85E285D-A4E0-4152-9332-AB1D724D3325}
- ASP.NET MVC 3.0 {E53F8FEA-EAE0-44A6-8774-FFD645390401}
- ASP.NET MVC 4.0 {E3E379DF-F4C6-4180-9B81-6769533ABE47
- C # {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- C ++ {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
- Base de datos {A9ACE9BB-CECE-4E62-9AA4-C7E7C5BD2124}
- Base de datos (otros tipos de proyectos) {4F174C21-8C12-11D0-8340-0000F80270F8}
- Cabina de despliegue {3EA9E505-35AC-4774-B492-AD1749C4943A}
- Módulo de combinación de implementación {06A35CCD-C46D-44D5-987B-CF40FF872267}
- Configuración de implementación {978C614F-708E-4E1A-B201-565925725DBA}
- Despliegue Smart Device Cab {AB322303-2255-48EF-A496-5904EB18DA55}
- Sistema distribuido {F135691A-BF7E-435D-8960-F99683D2D49C}
- F # {F2A71F9B-5D33-465A-A702-920D77279786}
- J # {E6FDF86B-F3D1-11D4-8576-0002A516ECE8}
- Dispositivo inteligente heredado (2003) (C #) {20D4826A-C6FA-45DB-90F4-C717570B9F32}
- Dispositivo inteligente heredado (2003) (VB.NET) {CB4CE8C6-1BDB-4DC7-A4D3-65A1999772F8}
- Modelo-Vista-Controlador v2 (MVC2) {F85E285D-A4E0-4152-9332-AB1D724D3325}
- Modelo-Vista-Controlador v3 (MVC3) {E53F8FEA-EAE0-44A6-8774-FFD645390401}
- Modelo-Vista-Controlador v4 (MVC4) {E3E379DF-F4C6-4180-9B81-6769533ABE47}
- Mono para Android {EFBA0AD7-5A72-4C68-AF49-83D382785DCF}
- MonoTouch {6BC8ED88-2882-458C-8E55-DFD12B67127B}
- Unión MonoTouch {F5B4F3BC-B597-4E2B-B552-EF5D8A32436F}
- Biblioteca de clases portátil {786C830F-07A1-408B-BD7F-6EE04809D6DB}
- SharePoint (C #) {593B0543-81F6-4436-BA1E-4747859CAAE2}
- SharePoint (VB.NET) {EC05E597-79D4-47f3-ADA0-324C4F7C7484}
- Flujo de trabajo de SharePoint {F8810EC1-6754-47FC-A15F-DFABD2E3FA90}
- Silverlight {A1591282-1198-4647-A2B1-27E5FF5F6F3B}
- Dispositivo inteligente (C #) {4D628B5B-2FBC-4AA6-8C16-197242AEB884}
- Dispositivo inteligente (VB.NET) {68B1623D-7FB9-47D8-8664-7ECEA3297D4F}
- Carpeta de solución {2150E333-8FDC-42A3-9474-1A3956D46DE8}
- Prueba {3AC096D0-A1C2-E12C-1390-A8335801FDAB}
- VB.NET {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
- Herramientas de base de datos visual {C252FEB5-A946-4202-B1D4-9916A0590387}
- Herramientas de Visual Studio para aplicaciones (VSTA) {A860303F-1F3F-4691-B57E-529FC101A107}
- Visual Studio Tools para Office (VSTO) {BAA0C2D2-18E2-41B9-852F-F413020CAA33}
- Aplicación web {349C5851-65DF-11DA-9384-00065B846F21}
- Sitio web {E24C65DC-7377-472B-9ABA-BC803B73C61A}
- Windows (C #) {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Windows (VB.NET) {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
- Windows (Visual C ++) {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
- Windows Communication Foundation (WCF) {3D9AD99F-2412-4246-B90B-4EAA41C64699}
- Windows 8 / 8.1 en blanco / Hub / Webview App {76F1466A-8B6D-4E39-A767-685A06062A39}
- Aplicación Windows Phone 8 / 8.1 (C #) {C089C8C0-30E0-4E22-80C0-CE093F111A43}
- Aplicación Windows Phone 8 / 8.1 (VB.NET) {DB03555F-0C8B-43BE-9FF9-57896B3C5E56}
- Windows Presentation Foundation (WPF) {60DC8134-EBA5-43B8-BCC9-BB4BC16C2548}
- Aplicaciones y componentes de Windows Store (Metro) {BC8A1FFA-BEE3-4634-8014-F334798102B3}
- Flujo de trabajo (C #) {14822709-B5A1-4724-98CA-57A101D1B079}
- Flujo de trabajo (VB.NET) {D59BE175-2ED0-4C54-BE3D-CDAA9F3214C8}
- Workflow Foundation {32F31D43-81CC-4C15-9DE6-3FC5453562B6}
- Xamarin.Android {EFBA0AD7-5A72-4C68-AF49-83D382785DCF}
- Xamarin.iOS {6BC8ED88-2882-458C-8E55-DFD12B67127B}
- XNA (Windows) {6D335F3A-9D43-41b4-9D22-F6F17C4BE596}
- XNA (XBox) {2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2}
- XNA (Zune) {D399B71A-8929-442a-A9AC-8BEC78BB2433}
PD. En caso de que te lo preguntes, la lista es aparentemente de dominio público.