Errore in fase di compilazione percorso troppo lungo

mercoledì 05 febbraio 2014 - 10.58
Tag Elenco Tags  C#  |  .NET 2.0  |  Visual Studio 2005

AntCiar Profilo | Expert

salve a tutti.

Ho un progetto per le stampe nella mia applicazione suddiviso in cartelle dentro del quali ci sono file di stampa di CrystalReport XI.
Fino ad ora nessun problema di compilazione.

Stamattina ho provato ad aggiungere un nuovo report di Crystal in una cartella specifica. Ho aggiunto il report vuoto, senza associare dati (vuoto)
Andando a compilare mi da questo tipo di errore:

Errore 71 errore imprevisto dell'attività "ResolveAssemblyReference".
System.IO.PathTooLongException: Percorso e/o nome di file specificato troppo lungo. Il nome di file completo deve contenere meno di 260 caratteri, mentre il nome di directory deve contenere meno di 248 caratteri.
in System.IO.Path.SafeSetStackPointerValue(Char* buffer, Int32 index, Char value)
in System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
in System.IO.Path.NormalizePath(String path, Boolean fullCheck)
in System.IO.Path.GetDirectoryName(String path)
in Microsoft.Build.Tasks.SystemState.FileExists(String path)
in Microsoft.Build.Tasks.Resolver.FileMatchesAssemblyName(AssemblyNameExtension assemblyName, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, Boolean allowMismatchBetweenFusionNameAndFileName, String pathToCandidateAssembly, ResolutionSearchLocation searchLocation)
in Microsoft.Build.Tasks.Resolver.ResolveAsFile(String fullPath, AssemblyNameExtension assemblyName, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, Boolean allowMismatchBetweenFusionNameAndFileName, ArrayList assembliesConsideredAndRejected)
in Microsoft.Build.Tasks.Resolver.ResolveFromDirectory(AssemblyNameExtension assemblyName, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, String[] executableExtensions, String directory, ArrayList assembliesConsideredAndRejected)
in Microsoft.Build.Tasks.DirectoryResolver.Resolve(AssemblyNameExtension assemblyName, String rawFileNameCandidate, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, String[] executableExtensions, String hintPath, String assemblyFolderKey, ArrayList assembliesConsideredAndRejected, String& foundPath, Boolean& userRequestedSpecificFile)
in Microsoft.Build.Tasks.AssemblyResolution.ResolveReference(IEnumerable`1 jaggedResolvers, AssemblyNameExtension assemblyName, String rawFileNameCandidate, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, String[] executableExtensions, String hintPath, String assemblyFolderKey, ArrayList assembliesConsideredAndRejected, String& resolvedSearchPath, Boolean& userRequestedSpecificFile)
in Microsoft.Build.Tasks.ReferenceTable.ResolveReference(AssemblyNameExtension assemblyName, String rawFileNameCandidate, Reference reference)
in Microsoft.Build.Tasks.ReferenceTable.SetPrimaryAssemblyReferenceItem(ITaskItem referenceAssemblyName)
in Microsoft.Build.Tasks.ReferenceTable.SetPrimaryItems(ITaskItem[] referenceAssemblyFiles, ITaskItem[] referenceAssemblyNames, ArrayList exceptions)
in Microsoft.Build.Tasks.ReferenceTable.ComputeClosure(DependentAssembly[] remappedAssembliesValue, ITaskItem[] referenceAssemblyFiles, ITaskItem[] referenceAssemblyNames, ArrayList exceptions)
in Microsoft.Build.Tasks.ResolveAssemblyReference.Execute(FileExists fileExists, DirectoryExists directoryExists, GetDirectories getDirectories, GetAssemblyName getAssemblyName, GetAssemblyMetadata getAssemblyMetadata, GetRegistrySubKeyNames getRegistrySubKeyNames, GetRegistrySubKeyDefaultValue getRegistrySubKeyDefaultValue, GetLastWriteTime getLastWriteTime)
in Microsoft.Build.Tasks.ResolveAssemblyReference.Execute()
in Microsoft.Build.BuildEngine.TaskEngine.ExecuteTask(ExecutionMode howToExecuteTask, Hashtable projectItemsAvailableToTask, BuildPropertyGroup projectPropertiesAvailableToTask, Boolean& taskClassWasFound) Reportistica_CR11_ML


Cercando su internet tutti dicono che devo controllare il percorso completo del file in questione per vedere se eccede la dimensione indicata. Il percorso del file in questione e' questo:

D:\Sviluppo\nnnnnnnnnn_svn\Nnnnnnnnnnn_CR11\Documenti\Nnnnnnnn\test.rpt (per ragioni aziendali ho dovuto sostituire i nomi completi con le N)

il percorso di questo nuovo file non sembra che superi i 260 caratteri.

La cosa ancora più strana è che una volta dato l'errore, anche se vado ad escludere dal progetto il file oppure eliminarlo direttamente, in fase di compilazione mi da sempre l'errore sopracitato.
L'unico modo per ritornare alla situazione precedente la creazione del file, è eliminare i file '.vbproj.user' e 'suo' relativi al progetto (e sostituendoli con una copia salvata)

Qualcuno ha dritte in materia?

grazie mille.

PS. dimenticavo, nel percorso che ho indicato 'D:' è il nome di volume di una partizione e non un collegamento a altre cartelle.


Cristian Barca

alx_81 Profilo | Guru

>salve a tutti.
ciao

>Qualcuno ha dritte in materia?
l'errore "ResolveAssemblyReference" mi fa pensare che hai qualche reference o comunque qualche path di progetto troppo lungo. Dovresti controllare tutte le references e i relativi path, perchè secondo me non è legato al report.
Prova a copiare il progetto tutto su una cartella D:\CARTELLA e a ricompilare. Se ti dà ancora gli stessi problemi, significa che è proprio una reference che sta chissà dove.

>grazie mille.
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5