7

Uso teamcity per creare progetti Sharepoint utilizzando MSBuild 64 bit. Tutti i progetti funzionano bene invece del mio progetto di flusso di lavoro. Quando si utilizza Framework 4.0 ottengo il messaggio di erroreImpossibile creare il progetto del flusso di lavoro con msbuild (Sharepoint 2010)

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Workflow.Targets(121,5): error MSB4018: The "CompileWorkflowTask" task failed unexpectedly. [V:\Workflows\MyCustomer.WFs.TranslationWorkflow\MyCustomer.WFs.TranslationWorkflow\MyCustomer.WFs.TranslationWorkflow.csproj] c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Workflow.Targets(121,5): error MSB4018: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Windows\system32\config\systemprofile\AppData\Local\Temp\vjwduioy.tmp'. [V:\Workflows\MyCustomer.WFs.TranslationWorkflow\MyCustomer.WFs.TranslationWorkflow\MyCustomer.WFs.TranslationWorkflow.csproj]

mi sono ricordato che Microsoft è sbarazzato del vecchio meccanismo del flusso di lavoro, quindi mi aspettavo che forse funziona solo con il quadro più vecchio 3.5 e costruito il progetto con questo, ma ho un altro errore :

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets(37,45): error MSB4019: The imported project "C:\Windows\Microsoft.NET\Framework64\v3.5\Workflow.Targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.

In Visual Studio 2010 funziona perfettamente.

risposta

6

trovato una soluzione: ho dovuto creare una cartella in 'C: \ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ Temp \'

Questo sembrava essere un completo TeamCity-problema

+1

Creare quale cartella? Con quale nome? Con cosa al suo interno? – Shaggydog

+0

Siamo spiacenti. Troppo tempo fa. Non riesco a ricordare. (In qualche modo mi sento un politico, ora :)) –

+1

Avuto lo stesso problema con TeamCity, per descriverlo più precisamente 'Temp' deve essere presente nella cartella 'C: \ Windows \ system32 \ config \ systemprofile \ AppData \ Local' –

0

Risolto modificando l'ambiente CMD.

L'aggiunta di C:\Windows\system32\config\systemprofile\AppData\Local\Temp\ non mi ha aiutato.

E C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Temp‌ anche. Ancor più, dopo aver aggiunto la cartella \ Temp sotto \ SysWOW64 ... Sono stato costretto a utilizzare MSBuild x64 a causa di un VBCSCompiler.exe new weird bugcausando CSC: l'errore CS2001: File di origine ... non è stato trovato

Inoltre non posso usare MSBuild x64 tutto il tempo.
Non riesco a utilizzare MSBuild x64 tramite DevEnv.com per creare progetti di installazione di Visual Studio. DevEnv consente solo di utilizzare MSBuild x32.

Spero di aver trovato un modo divertente per risolvere tutti questi errori.
Ho modificato la cartella del profilo per le chiamate CMD sostituendo le variabili di ambiente CMD come AppData e altre.

Ecco la versione completa e di lavoro di esso - MSBuild-File-System-Redirector-fail-System32-to-SysWOW64

E scusate, ma non si può utilizzare senza Wrapping a call of MSBuild and DevEnv by a batch file. O lo stesso da questo answer.