无法使用 msbuild 构建工作流项目 (Sharepoint 2010)

发布于 2025-01-02 00:28:10 字数 1104 浏览 1 评论 0原文

我使用 teamcity 使用 64 位 MSBuild 构建 Sharepoint 项目。所有项目都工作正常,而不是我的工作流程项目。使用 Framework 4.0 时收到错误消息

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Workflow.Targets(121,5): 错误 MSB4018:“CompileWorkflowTask”任务意外失败。 [V:\Workflows\MyCustomer.WFs.TranslationWorkflow\MyCustomer.WFs.TranslationWorkflow\MyCustomer.WFs.TranslationWorkflow.csproj] c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Workflow.Targets(121,5): 错误 MSB4018:System.IO.DirectoryNotFoundException:找不到 路径的一部分 'C:\Windows\system32\config\systemprofile\AppData\Local\Temp\vjwduioy.tmp'。 [V:\Workflows\MyCustomer.WFs.TranslationWorkflow\MyCustomer.WFs.TranslationWorkflow\MyCustomer.WFs.TranslationWorkflow.csproj]

我记得微软摆脱了旧的工作流机制,所以我预计它可能只适用于旧的 3.5 框架并用它构建了项目,但出现了另一个错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets(37,45):错误 MSB4019:导入的项目“C:\Windows\Microsoft .NET\Framework64\v3.5\Workflow.Targets”未找到。确认声明中的路径正确,并且该文件存在于磁盘上。

在 Visual studio 2010 中构建效果很好。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空气里的味道 2025-01-09 00:28:10

找到了解决办法:
我必须在“C:\Windows\system32\config\systemprofile\AppData\Local\Temp\”中创建一个文件夹,

这似乎是一个完整的 TeamCity 问题

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

一人独醉 2025-01-09 00:28:10

通过修改CMD环境解决。

添加 C:\Windows\system32\config\systemprofile\AppData\Local\Temp\ 对我没有帮助。

还有 C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Temp‌
更重要的是,在 \SysWOW64 下添加 \Temp 文件夹后...我被迫使用 MSBuild x64 因为 新的奇怪错误 VBCSCompiler.exe 导致 CSC : 错误 CS2001: 找不到源文件...

而且我不能一直使用 MSBuild x64。
我无法通过 DevEnv.com 使用 MSBuild x64 来构建 Visual Studio 安装项目。 DevEnv 仅允许使用 x32 MSBuild。

希望我找到了一种有趣的方法来解决所有这些错误。
我通过覆盖 CMD 的环境变量(例如 AppData 等)更改了 CMD 调用的配置文件文件夹。

这是它的完整工作版本 - MSBuild-File-System-Redirector-fail-System32-to-SysWOW64

抱歉,如果没有 通过批处理文件包装 MSBuild 和 DevEnv 的调用。或者与此答案相同。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文