c# - studio - La compilación de TFS falla. Referencias no resueltas a archivos que están en control de fuente
desvincular proyecto tfs (1)
Tengo una construcción que funciona bien localmente, sin embargo, no se construirá dentro de nuestro entorno TFS.
Obtuve el siguiente error;
C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / Microsoft.Common.targets (1578): No se pudo resolver esta referencia. No se pudo ubicar el ensamblado "Assembly.Services.Common". Verifique para asegurarse de que el ensamblaje exista en el disco. Si el código requiere esta referencia, es posible que obtenga errores de compilación.
El conjunto en cuestión está registrado en TFS y se encuentra en la siguiente ubicación;
/Root/BaseBinRefs/Assembly.Services.Common.dll
No tiene referencias externas fuera del marco .net.
El proyecto que no se puede construir está en la siguiente ubicación en TFS
/ Root / Services / AssemblySolutionFolder / AssemblyThatIsFailing
El conjunto se referencia en un proyecto dentro de la solución y HintPath para el conjunto parece ser correcto;
<Reference Include="Assembly.Services.Common, Version=1.0.0.0,
Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>../../../BaseBinRefs/Assembly.Services.Common.dll</HintPath>
</Reference>
Como dije, se desarrolla localmente y no veo ninguna razón por la cual debería fallar dentro de TFS. La advertencia es que soy nuevo en TFS en general y aún intento integrar el primero de nuestros proyectos en este entorno.
Actualización 1
Con ProcessMonitor, veo que TFS intenta cargar el archivo;
C: / Builds / 1 / Root / BaseBinRefs / Assembly.Services.Common.dll
Lo cual no existe, pero es correcto en el sentido relativo. Ahora, cuando miro en el directorio de fuentes, veo BaseBinRefs, con Assembly.Services.Common.dll incluido, así que los ha descargado (agregué el BaseBinRefs a la definición de compilación)
Esto podría ser un problema sobre cómo se configuran las carpetas de trabajo en su definición de compilación (en Espacio de trabajo).
Si entendí su esquema de ruta correctamente, establecer las rutas de la siguiente manera debería funcionar:
Active |$/TeamProject/Root/BaseBinRefs/ |$(SourceDir)/Root/BaseBinRefs
Active |$/TeamProject/Root/Services/AssemblySolutionFolder/|$(SourceDir)/Root/Services/AssemblySolutionFolder
mientras que, por ejemplo, esto causaría problemas:
Active |$/TeamProject/Root/BaseBinRefs/ |$(SourceDir)/
Active |$/TeamProject/Root/Services/AssemblySolutionFolder/|$(SourceDir)/