2009-01-16 16 views
20

Actualmente estoy trabajando en un control de servidor para otras aplicaciones en nuestra compañía para interactuar con un servicio WCF. Cada vez que cambio un código de cambio y vuelvo a compilar el control, incremente el de las clases AssemblyVerison y AssemblyFileVersion en AsseemblyInfo.cs en uno. Por ejemplo, mi última versión pasó de 1.0.07.0 a 1.0.08.0."¿Echas de menos una referencia de ensamblado?" compile error - Visual Studio

Cuando la aplicación que se consume actualiza el archivo copiando el último archivo en el directorio bin y trata de compilar, que reciben el error siguiente:

The type or namespace name 'MyControl' does not exist in the namespace 'MyNamespace' (are you missing an assembly reference?)

Con el fin de resolver este error, tienen que eliminar la referencia actual y volver a agregar la referencia.

¿Hay alguna manera de actualizar el control del servidor sin tener que eliminar y volver a agregar la referencia?

ACTUALIZACIÓN:
no soy fuerte nombrar el control de servidor.
@JPunyon - ¿Quiere decir que la aplicación consumidora debe agregar el proyecto de control del servidor a su solución?

+0

aquí hay un buen artículo sobre cómo solucionar el problema de montaje - http://www.codeandyou.com/2017/08/missing-assembly-reference-in-visual.html – virender

Respuesta

12

Haga clic con el botón derecho en la referencia de ensamblaje en el explorador de soluciones, propiedades, deshabilite la opción "Versión específica".

2

¿Está dando un nombre fuerte a sus ensamblajes? En ese caso, no es una buena idea aumentar automáticamente su número de compilación porque con cada nuevo número de compilación también deberá actualizar todas sus referencias.

1

me encontré con la respuesta que me señaló en la dirección correcta, pero ...

Para aquellos que están utilizando Visual C++:

Si tiene que desactivar la auto-incremento de la versión, puede cambiar este valor en el archivo "AssemblyInfo.cpp" (todos los proyectos CLR tienen uno). Déle un número de versión real sin el asterisco y funcionará de la forma que desee.

¡No olvide implementar su propio control de versión en su conjunto!

25

En mi caso, fue un proyecto definido utilizando Target Framework: ".NET Framework 4.0 Client Profile" que intentó hacer referencia a los proyectos dll definidos utilizando Target Framework: ".NET Framework 4.0".

Una vez que cambié las configuraciones del proyecto para usar Target Framework: ".NET Framework 4.0" todo se construyó muy bien.

Haga clic derecho del proyecto-> Propiedades-> Aplicaciones-> Marco de destino

0

En mi caso, tuve que cambiar el ajuste Local Copia true (botón derecho del ratón en el explorador de soluciones de montaje, seleccione propiedades, localizar y cambiar el valor de Copiar propiedad local). Una vez que se modificó esta configuración, la publicación de mi servicio WCF copió el archivo en el servidor y el error desapareció.

Cuestiones relacionadas