我正在使用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.
答案 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帮助文件生成器。