Pregunta

En nuestro proyecto Visual Studio 2010 hacemos referencia, entre otros, al SmartAssembly.Attributes.dll y se copia correctamente en el Bin/Debug o Bin/Release carpeta de nuestras máquinas de desarrollo locales.En el servidor de compilación, esto es cierto para todas las demás referencias, pero no para 'SmartAssembly.Attributes.dll'.La construcción tiene éxito.

¿Qué debo comprobar?

Gracias.

¿Fue útil?

Solución

Abre tu .csproj archivo (o .vbproj archivo) y busque la referencia del ensamblado.Luego asegúrese de que la ruta de la sugerencia siga siendo válida en su servidor de compilación.A veces, VS2010 agregará una ruta de sugerencia absoluta, en lugar de usar una relativa a la .csproj archivo en sí, por lo que la letra de la unidad puede no ser válida en otra máquina.

Por ejemplo, la referencia puede ser similar a la siguiente (creé todo el XML a continuación solo para ilustrar y NO es válido), y la ruta de sugerencia absoluta puede no ser válida en el servidor de compilación (p. ej.no hay letra de unidad d allá):

<Reference
Include="SmartAssembly.Attributes, Version=8.0.0.0, 
       Culture=neutral, PublicKeyToken=b03f1f7f1ad5da3a,
       processorArchitecture=x86"> 
  <SpecificVersion>False</SpecificVersion>
  <Private>true<Private>

  <!-- The HintPath below should exist and be valid in your build server -->
  <HintPath>d:\temp\SmartAssembly.Attributes.dll<HintPath>
</Reference>

Puede cambiar HintPath para que sea relativo al .csproj archivo y por lo tanto más general.Por ejemplo:

  <HintPath>..\libs\SmartAssembly.Attributes.dll<HintPath>

Otro problema puede ser que <Private>true<Private> no está ahí.Este atributo se asigna al CopyLocal propiedad en Visual Studio, por lo que si falta en su .csproj, la DLL no se copiará bin\Debug o bin\Release por MSBuild.Ver http://bronumski.blogspot.com/2009/06/project-reference-fun-and-games.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top