c# – 使用命令行构建office addin时出错

项目在visual studio 2012(V11)中构建得很好,但是在使用msbuild.exe通过命令行构建它时不会构建

收到错误:

error MSB4062: The “InitializeDefaultProperties” task could not be
loaded from the assembly Microsoft.VisualStudiols.Office.BuildTasks,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
Could not load file ‘Microsoft.VisualStudio.Tools.Office.BuildTasks,
Version=10.0.0.0

解决方法:

原来这个项目是2010年的前景.
我在gac中的Microsoft.VisualStudiols.Office.BuildTasks.dll的版本是v11,而不是它似乎需要的v10(默认情况下).

为什么visual studio CAN构建项目可能与csproj文件中的以下行有关:

<Import Project="$(VSToolsPath)\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets" Condition="'$(VSToolsPath)' != ''" />

(我不知道从哪里获取vstoolspath变量)

我通过使用额外的构建配置项/p:VisualStudioVersion=11.0解决了这个问题:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
/p:Configuration=Debug /p:VisualStudioVersion=11.0
"$base_dir\OutlookAddin\OutlookAddin.csproj"
上一篇:c# – .NET Core MSBuild:如何将csproj与多个project.json文件关联起来?


下一篇:c# – 如何在MSBuild单元测试中访问teamcity配置参数