type the error cs0433 both asp.net asp.net-mvc

asp.net - the - error cs0433



Error: el tipo existe en ambos directorios (16)

En un proyecto de MVC2 moví un archivo de App_code a la carpeta de contenido y lo compilé. Luego vuelva a moverlo a App_Code y luego cambie su Build Action para "Compilar". Ahora recibo este error y no sé cómo solucionarlo para que mi programa vuelva a funcionar:

CS0433: El tipo ''Ayuda'' existe tanto en ''c: / Usuarios ... / AppData / Local / Temp / Archivos ASP.NET temporales / root / b00d4b7d / b2553f9c / App_Code.zowyklar.dll'' y ''c: / Users. .. / AppData / Local / Temp / Archivos temporales ASP.NET / root / b00d4b7d / b2553f9c / assembly / dl3 / 5c6d3537 / 19f85663_cde9cb01 / MyProject.DLL ''

La limpieza y la reconstrucción no resuelven el problema.


En la aplicación web (no en el sitio web), cambio App_Code * .cs Build Action (propiedades de archivo) de Compile to Content . entonces el problema se resuelve


En mi caso, recibí este error cuando erróneamente había nombrado una clase como la clase de la que heredaba.


En mi caso, tengo artículos con el mismo nombre pero diferentes extensiones en mi proyecto. Uno era accountRep.aspx y el otro accountRep.rpt creado por Crystal Report. Problema resuelto cuando cambié accountRep.rpt a accountReport.rpt


Esto ha sido respondido en una pregunta separada y resolvió el problema para mí. Asegúrese de votar la respuesta de la persona original.

Error de ASP.Net: "El tipo ''foo'' existe tanto en" temp1.dll "como en" temp2.dll "

Agregue el atributo batch = "false" al elemento "compilation" del archivo web.config.

Este problema se produce debido a la forma en que ASP.NET 2.0 utiliza las referencias de la aplicación y la estructura de la carpeta de la aplicación para compilar la aplicación. Si la propiedad de lote del elemento en el archivo web.config para la aplicación se establece en verdadero, ASP.NET 2.0 compila cada carpeta de la aplicación en un ensamblaje separado.

http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=1995

http://support.microsoft.com/kb/919284


Intenta limpiar tu solución y luego intenta reconstruirla. Visual Studio probablemente aún tenga referencia al dll anterior después de haber creado el nuevo dll.


La carpeta App_Code no está destinada a ser utilizada con MVC Projects (WAP).

Los archivos en la carpeta App_Code se compilan automáticamente como parte de un dll especial. Si la propiedad Build Action en el archivo está configurada en Compile, la misma clase también se compilará como parte de la dll principal y terminará con dos copias.

Establecer la propiedad Acción de compilación en Ninguno asegura que solo haya una copia de la clase en el proyecto. El compilador no detectará ningún error en la carpeta App_Code al compilar, pero Intellisense aún validará el código, pero los errores en tiempo de compilación no se mostrarán hasta que se compile sobre la marcha.

La solución recomendada es colocar el código en una carpeta normal y asegurarse de que Build Action esté configurado para compilar.


Lo solucioné marcando Delete all existing files prior to publish en Visual Studio:



Otra posible solución que funcionó para mí fue cambiar todas las referencias de

CodeFile="~/..."

a

CodeBehind="~/..."

en todas las páginas .master y .aspx

Esto ocurrió al convertir un sitio web antiguo en una aplicación web adecuada con un archivo de solución.

No encontré esta información en ningún otro lugar, así que espero que esto ayude a alguien.


Puede haber dos clases con el mismo nombre "Ayuda" en su solución / proyecto. Cambia el nombre de uno de ellos y luego reconstruye


Si está migrando el sitio web ASP.NET 2.0 a .NET Web APP 4.5, también puede tener ese problema. Y poner lotes = falso, agregar un espacio de nombres, etc. ... no puede funcionar.

La solución es cambiar el nombre de la antigua carpeta App_Code (o cualquier carpeta problemática) a Old_App_Code (como el proceso automático hacerlo), o cualquier otro nombre.



Suponiendo que está creando una aplicación web, que parece que le han dado el punto MVC2, no debería usar la carpeta App_Code. No fue diseñado para integrarse con proyectos de aplicaciones web.

Cuando compila en Visual Studio, todo el código de su aplicación (incluido en App_Code ) se compila en un ensamblado. Cuando ejecuta su aplicación, asp.net conoce una carpeta "especial" llamada App_Code y compila el contenido de la misma en un ensamblado con un nombre único. Por lo tanto, cada vez que ejecute el proyecto se encontrará con este problema.

La solución:

Cambie el nombre de su carpeta App_Code a algo así como "Código" o "Global" (y actualice sus referencias ahora rotas) y listo, problema resuelto.


Tuve el mismo error: el tipo ''MyCustomDerivedFactory'' existe en ambas clases derivadas My ServiceHost y ServiceHostFactory en la carpeta App_Code de mi proyecto de servicio WCF. Añadiendo

<configuration> <system.web> <compilation batch="false" /> </system.web> <configuration>

no resolvió el error, pero moviendo mis clases derivadas de ServiceHost y ServiceHostFactory en un proyecto separado de la biblioteca de clase lo hizo.


Tuve el mismo problema en uno de mis proyectos. Resulta que el problema comenzó cuando lidié con una página maestra.

El problema también ocurrirá si dos páginas "Heredan" la misma página.

Tenía la siguiente línea de código en la parte superior de "LoginMaster.Master" y "MasterPage.Master"

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MainMaster.master.cs" Inherits="Master_Pages_Header" %>

Cambié las Heredades en mi "LoginMaster.Master" a:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="LoginMaster.master.cs" Inherits="Master_Pages_LoginMaster" %>

De inmediato pude publicar mi proyecto sin ningún problema. Espero que esto funcione para otra persona. Me disculpo por no usar los términos correctos.

También deberá cambiar la clase en .cs para que coincida con el nombre Heredas. Si no lo hace, causará un error.

ES DECIR:

public partial class Master_Pages_LoginMaster : System.Web.UI.MasterPage


¡INTENTA ESTO!

Normalmente, cuando esto sucede localmente, limpio toda la carpeta temp de aspnet. Pero recientemente estaba sucediendo cuando publiqué mi sitio web en Azure. Así que "limpiar la carpeta aspnet temp" no era una solución.

Después de buscar en Internet, fundé esto:

Clear Temp ASP.NET files from Azure Web Site

¡Esto funciona para mi!