使用 sandcastle 帮助构建器和 Visual Studio 2010 .NET 4.0 项目构建期间出现错误
我在 Visual Studio 2008 中使用 Sandcastle 为我的项目生成帮助。当我将项目更改为 Visual Studio 2010 并将项目 .NET 版本更改为 .NET 4.0 时,我在 Sandcastel 中遇到了这个问题。我不明白为什么 sandcastel 使用 C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe 而不是 C:\Windows\Microsoft.NET\Framework64\v4.0\MSBuild.exe 我认为我指定的框架版本是 v4.0.30319
谁能告诉我如何解决这个问题?在哪里更改 msbuild.exe 或其他解决方案的路径???
Generating reflection information...
[C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe]
GenerateRefInfo:
MrefBuilder (v2.4.10520.1)
Copyright c Microsoft 2006
Info: Loaded 1 assemblies for reflection and 0 dependency assemblies.
MREFBUILDER : error : Unresolved assembly reference: System.Windows.Forms (System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) required by WLAEDInt
Last step completed in 00:00:01.2731
-------------------------------
SHFB: Error BE0043: Unexpected error detected in last build step. See output above for details.
I was using sandcastle to generate help for my project in visual studio 2008. When i change my project to visual studio 2010 and change the project .NET version to .NET 4.0 i got this problem with Sandcastel. I can't understand why sandcastel is using C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe
and not
C:\Windows\Microsoft.NET\Framework64\v4.0\MSBuild.exe
thinking that i specified as framework version the v4.0.30319
Can anyone tell me how to resolve this issue?? Where to change the path of the msbuild.exe or some other solution ???
Generating reflection information...
[C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe]
GenerateRefInfo:
MrefBuilder (v2.4.10520.1)
Copyright c Microsoft 2006
Info: Loaded 1 assemblies for reflection and 0 dependency assemblies.
MREFBUILDER : error : Unresolved assembly reference: System.Windows.Forms (System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) required by WLAEDInt
Last step completed in 00:00:01.2731
-------------------------------
SHFB: Error BE0043: Unexpected error detected in last build step. See output above for details.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我今天遇到了同样的问题,这篇文章帮助我解决了它: http:// /shfb.codeplex.com/Thread/View.aspx?ThreadId=214594
解决方案摘要:
步骤1:
确保您已获得最新的 Sandcastle 补丁,尤其是 VS2010,可从以下位置获取:sandcastlestyles.codeplex.com。截至今天,它是“Sandcastle 2008 年 5 月补丁版本 3”。
步骤2:
将另一个supportedRuntime元素添加到使用RTM版本的.NET 4.0的“MRefBuilder.exe.config”文件中:
在步骤1之后我仍然遇到错误,然后步骤2最终修复了它。
I had the same problem today, and this post helped me resolve it: http://shfb.codeplex.com/Thread/View.aspx?ThreadId=214594
Solution summary:
Step 1:
Ensure you've got the latest Sandcastle patches, especially for VS2010, available at: sandcastlestyles.codeplex.com. As of today, it is 'Sandcastle May 2008 Patch Rev 3 '.
Step 2:
Add another supportedRuntime element to the 'MRefBuilder.exe.config' file that utilizes the RTM version of .NET 4.0:
I still had the error after step 1, then step 2 finally fixed it.
我在最新版本的 Sandcastle Help File Builder v1.9.1.0 中遇到了与
Microsoft.VisualStudio.TestTools.UITesting
库相关的同样问题。我通过将引用的 UITest 程序集(埋藏在 Visual Studio 目录中)复制到包含文档源的目录来解决该问题。然后宾果游戏构建对 Sandcastle 帮助文件生成器 有效。
I ran into this same problem with the latest version of the Sandcastle Help File Builder v1.9.1.0 with regards to the
Microsoft.VisualStudio.TestTools.UITesting
library.I resolved it by copying the referenced
UITest
assemblies (buried in the Visual Studio directory) to the directory containing the documentation source. Then bingo the build worked for the Sandcastle Help File Builder.就我而言,这是由错误的 xml 注释代码项引起的。
来自 LastBuild.log 的错误:
In my case it was caused by a bad xml comment code item.
Error from LastBuild.log:
如果没有一些配置黑客,当前版本的 Sandcastle 不支持 .NET 4。 新版本应该很快就会推出,预计开箱即用地支持 .NET 4。
编辑:最新的 Sandcastle 现已推出;也许这会解决您的问题,因为它包含 .NET 4 支持。
The current version of Sandcastle does not support .NET 4 without some config hackery. There is a new version that should be available quite soon, expected to support .NET 4 out of the box.
Edit: the latest Sandcastle is available now; perhaps that will solve your issue, since it includes .NET 4 support.