通过在VS2010中将version = 10.0.0.0替换为11.0.0.0来进行更改后出现新的构建错误

时间:2015-06-15 21:38:50

标签: visual-studio-2010 msbuild excel-2010 vsto excel-addins

我遇到与Build Error + Creating VSTO addin for excel 2010

相同的问题

根据解决方案进行更改后,我收到了新错误:

 The "InitializeDefaultProperties" task could not be loaded from the   
 assembly 
 Microsoft.VisualStudio.Tools.Office.BuildTasks, Version=11.0.0.0, 
 Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. Could not load file or 
 assembly 'Microsoft.VisualStudio.Tools.Office.BuildTasks, 
 Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one 
 of its dependencies. The system cannot find the file specified. Confirm    
 that the <UsingTask> declaration is correct, that the assembly and all its 
 dependencies are available, and that the task contains a public class that 
 implements Microsoft.Build.Framework.ITask.    

我在同一台机器上安装了VS2013,所以我更改了版本= 12.0.0.0但是我遇到了一个新错误:

 Error  2   The "SetInclusionListEntry" task could not be instantiated from 
 the assembly "Microsoft.VisualStudio.Tools.Office.BuildTasks, 
 Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a". 
 Please verify the task assembly has been built using the same version of  
 the Microsoft.Build.Framework assembly as the one installed on your 
 computer and that your host application is not missing a binding redirect 
 for Microsoft.Build.Framework. Unable to cast object of type  Micro
 soft.VisualStudio.Tools.Office.BuildTasks.SetInclusionListEntry' to type 
 'Microsoft.Build.Framework.ITask'. 

2 个答案:

答案 0 :(得分:2)

我知道这是一个老帖子,但也许我有一个解决方案... 我遇到了完全相同的问题,我必须告诉你,对于VS2010,“InitializeDefaultProperties”异常是不可修复的。

首先: 确保未修改Visual Studio 2010安装,无论如何要进行全新安装以确保安装。

如果您修改了 C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ OfficeTools \ Microsoft.VisualStudio.Tools.Office.targets 还原您的更改。

如果您现在尝试构建VSTO项目,则应该出现以下错误:

  

无法从装配中加载“FindRibbons”任务   Microsoft.VisualStudio.Tools.Office.BuildTasks,Version = 10.0.0.0,
  Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a。无法加载文件   或汇编'Microsoft.VisualStudio.Tools.Office.BuildTasks,
  Version = 10.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或   其中一个依赖项。该系统找不到指定的文件。   确认<UsingTask>声明是正确的,即   程序集及其所有依赖项都可用,而且该任务   包含一个实现的公共类   Microsoft.Build.Framework.ITask。

我的解决方案:
- &GT;打开Visual Studio 2010(您不需要加载项目)
- &GT;转到帮助单击关于Microsoft Visual Studio
- &GT;检查版本

  

Microsoft Visual Studio 2010版本
10.0.40219.1 SP1Rel
Microsoft   .NET Framework
版本4.5.51209 SP1Rel

如果 RTMRel 从此处下载 Microsoft Visual Studio 2010 SP1 http://go.microsoft.com/fwlink/?LinkId=210710

它包括必要的VSTO和VSTO 4.0运行时。

如果那不是问题,我很抱歉......

答案 1 :(得分:0)

当我升级构建服务器时遇到了同样的问题...我将把解决方案放在这里,以防有人需要。

我认为解决此问题的方法是修复您的GAC。

通过记事本打开该工具的.target文件,然后查看UsingTask标签,您应该会得到类似

<UsingTask TaskName="InitializeDefaultProperties" AssemblyName=" Microsoft.VisualStudio.Tools.Office.BuildTasks", Version=11.0.0.0,..., PublicKeyToken=sthsthsth

然后转到您的GAC文件,例如C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ Microsoft.VisualStudio.Tools.Office.BuildTasks

然后,创建一个新文件夹:v4.0_11.0.0.0_sthsthsth, 就是

v<.NETFramework Version, mostly 4.0>_<Assembly Version>_<PublicKeyToken>

然后,将Microsoft.VisualStudio.Tools.Office.BuildTasks的.dll文件放入其中。 通过直接安装(VSTO2010)或Visual Studio安装程序安装VSTO时,应获取此dll。

例如

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ Microsoft \ VisualStudio \ v15.0 \ OfficeTools \ Microsoft.VisualStudio.Tools.Office.BuildTasks.dll

对于Visual Studio 2017,然后将dll直接放置在创建的文件夹中

然后应该解决此问题。祝你好运