Cannot build workflow project with msbuild (Sharepoint 2010)
Asked Answered
S

2

8

I use teamcity to build Sharepoint projects using 64-bit MSBuild. All projects work fine instead of my workflow project. When using Framework 4.0 I get the error message

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]

I remembered that microsoft got rid of the old Workflow mechanism so I expected that it possibly only works with the older 3.5 framework and built the project with that but got another error:

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 building works just fine.

Sweepings answered 1/2, 2012 at 12:57 Comment(0)
S
6

Found a solution: I had to create a folder in 'C:\Windows\system32\config\systemprofile\AppData\Local\Temp\'

This seemed to be a complete TeamCity-issue

Sweepings answered 1/2, 2012 at 14:4 Comment(7)
Create what folder? With what name? With what inside it?Lindbergh
Sorry. Too long ago. I can't remember. (Somehow feel like a politician, now :) )Sweepings
Had the same problem with TeamCity, to describe it more precisely 'Temp' must be present in 'C:\Windows\system32\config\systemprofile\AppData\Local' folderTrudey
For what it's worth, it's December 2014 and I am having the same exact problem with TeamCity 8.1.5(build 30240). However, creating the folder didn't solve the problem for me.Clarisclarisa
what worked for me was switching the TeamCity windows services to use my credentials instead of LocalSystemClarisclarisa
we have to try also to create "C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Temp" because of the file system redirection. See m.richardson on MSDN. I'll try it out soon.Enameling
sorry, SysWOW64 leads to using MSBuild x64 version. It is the newest bug from 07-2016Enameling
E
0

Solved by modifying of CMD environment.

The adding of C:\Windows\system32\config\systemprofile\AppData\Local\Temp\ did not help me.

And C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Temp‌ too.
Even more, after adding the \Temp folder under \SysWOW64... I was forced to use MSBuild x64 because of a new weird bug VBCSCompiler.exe causing CSC : error CS2001: Source file ... could not be found

Also I can't use MSBuild x64 all the time.
I can't use MSBuild x64 through DevEnv.com to build Visual Studio setup projects. DevEnv allows only to use x32 MSBuild.

Hopefully I have found a funny way to solve all these errors.
I have changed profile folder for CMD calls by override environment variables of CMD such as AppData and others.

Here is the full and working version of it - MSBuild-File-System-Redirector-fail-System32-to-SysWOW64

And sorry, but you can't use it without Wrapping a call of MSBuild and DevEnv by a batch file. Or the same from this answer.

Enameling answered 21/1, 2017 at 23:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.