2011-11-04 15 views
5

Tengo una solución con un único archivo de proyecto. Me estoy implementando como una aplicación ClickOnce. Todo funciona muy bien y bien en mi equipo, pero cuando trato de ejecutarlo en otra persona es consigo este errorError "No se pudo cargar el archivo o el ensamblaje". Funciona en mi computadora pero no en otros

System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. File name: 'System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

System.Windows.Forms.DataVisualization es en la faceta cargado como referencia en mi proyecto y creo que hay que ser adecuada utilizando declaraciones donde sea que se use.

Cuando voy a mi proyecto Propiedades> Publicar> Archivos de aplicación ... System.Windows.Forms.DataVisualization tiene un signo de admiración al lado de ese texto de información sobre herramientas de "Este elemento ya no se referencia en el proyecto. ya no es necesario, se puede eliminar haciendo clic derecho en el elemento ". el estado Publicar es "Incluir" y el Hash es "Incluir". el estado de publicación no es, sin embargo, "Incluir (auto)"; Excluir tiene el texto automático al lado. Pero ya sea que incluya o excluya, obtengo el mismo error cuando corro en la máquina de otra persona.

¿Qué crees que debería hacer para hacer que este archivo sea referenciado correctamente?

Gracias

Actualización:

He tratado de establecer copia local = true, construir reconstruir en vano.

Estoy revisando todas las otras sugerencias ahora. (Es un largo paseo entre mí y el equipo que no funciona!)

+0

Parece que el dll no está donde crees que está. ¿Estás seguro de la ubicación? ¿Has intentado borrar la referencia y volver a agregarla? – Simon

+0

¿Es su proyecto 3.5? – timmy

+1

¿Ha intentado instalar .Net 3.5 en una de las máquinas que está teniendo el problema? Si es así, creo que debes redistribuir 'System.Windows.Forms.DataVisualization' con tu aplicación, porque creo que podría no ser parte de .Net Framework. Google parece corroborar mis pensamientos ... –

Respuesta

1

Este problema específico se discutió en MSDN:

http://connect.microsoft.com/VisualStudio/feedback/details/538952/clickonce-cannot-include-system-windows-forms-datavisualization-dll

ese puesto apunta a una solución sugerida:

http://www.thehat.free-online.co.uk/MSChart/

En general, Fuslogvw (visor de registro de fusión) es su amigo que entiende por qué las referencias no pueden ser cargadas por .NET.

Cuando el registro está activo, la estrategia utilizada para tratar de resolver las dependencias se registra y fuslogvw le permite ver la estrategia.

Ejecute en el equipo donde se encuentra el archivo DLL y la computadora donde no se encuentra y compare los resultados del registro.

+0

El archivo MSCharts.exe es correcto y funciona, sin embargo, parece que no puedo agregarlo como un requisito previo. Seguí las instrucciones en el enlace http://www.thehat.free-online.co.uk/MSChart/. sin suerte – Brad

+0

Todavía no puedo obtener el componente de gráficos en los Prerrequisitos. ¿Cómo puedo hacer que VS reconozca los archivos que he creado a través del enlace? – Brad

0

Quizás la dll esté en su GAC, así que .net encuéntrela. Pero no lo despliega con su aplicación y falló en otras computadoras. Lo que puede hacer es encontrar que el dll lo agrega como referencia a su proyecto (porque lo pierde) y asegurarse de que copy local se establezca en verdadero.

2

Sé que ha sido una mientras que este problema se publicó, pero tuve el mismo problema y logré resolverlo.

Para ejecutar la aplicación en otras máquinas, instalé Microsoft Chart Controls en las otras máquinas, simplemente descargando y ejecutando MSChart.exe en http://www.microsoft.com/download/en/details.aspx?id=14422.

+0

Esto es en última instancia lo que tuve que hacer. Aunque significa que el usuario debe reiniciar ahora Y ejecutar una instalación por separado (sobre todo porque todavía tengo que descubrir cómo hacer un instalador con éxito). En general, un cambio decepcionante de VS2008/.NET3.5 – Brad

0

Sólo cambia la versión del archivo en web.comfig

EX: - namespace = "System.Web.UI.DataVisualization.Charting" montaje = "System.Web.DataVisualization, Version = 3.5.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35"

1

reinstalar MSChart.exe

esto me ayudó!

Cuestiones relacionadas