使用带有Visual Studio 2010 .NET 4.0项目的sandcastle帮助构建器构建时出错

时间:2010-06-01 15:32:13

标签: visual-studio-2010 .net-4.0 sandcastle

我正在使用sandcastle为visual studio 2008中的项目生成帮助。当我将项目更改为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.

3 个答案:

答案 0 :(得分:2)

当前版本的Sandcastle在没有配置hackery的情况下不支持.NET 4。有a new version应该很快就可以使用,预计可以支持.NET 4开箱即用。

编辑:latest Sandcastle现已上市;也许这将解决您的问题,因为它包括.NET 4支持。

答案 1 :(得分:1)

我今天遇到了同样的问题,这篇文章帮助我解决了这个问题:http://shfb.codeplex.com/Thread/View.aspx?ThreadId=214594

解决方案摘要:

第1步: 确保您拥有最新的Sandcastle补丁,特别是VS2010,可从以下网址获得:sandcastlestyles.codeplex.com。截至今天,它是'Sandcastle May May Patch Rev 3'。

第2步: 将另一个supportedRuntime元素添加到使用RTM版本的.NET 4.0的“MRefBuilder.exe.config”文件中:

<supportedRuntime version="v4.0.30319"/> <!-- 4.0 RTM -->

我仍然在第1步之后出现错误,然后第2步最终修复了它。

答案 2 :(得分:1)

对于Microsoft.VisualStudio.TestTools.UITesting库,我遇到了与 Sandcastle帮助文件构建器v1.9.1.0 的最新版本相同的问题。

我通过将引用的UITest程序集(隐藏在Visual Studio目录中)复制到包含文档源的目录来解决它。然后bingo构建适用于 Sandcastle帮助文件生成器