MSBuildWorkspace.OpenSolutionAsync正在Visual Studio/v14.0中查找目标

MSBuildWorkspace.OpenSolutionAsync正在Visual Studio/v14.0中查找目标,msbuild,roslyn,Msbuild,Roslyn,我有一个VS 2013控制台应用程序,可以加载任何解决方案(.sln)文件-使用Roslyn编译其中的所有项目,并从编译模型中提取API使用信息 我现在面临着一个特殊的问题——当我在Visual Studio 2013中运行应用程序(使用Ctrl-F5或F5)时,一切正常。我能够编译资料并提取所有信息。 但是,当我打开命令行(cmd)并尝试从运行此控制台应用程序时,会出现以下错误: Unhandled Exception: System.AggregateException: One or mo

我有一个VS 2013控制台应用程序,可以加载任何解决方案(.sln)文件-使用Roslyn编译其中的所有项目,并从编译模型中提取API使用信息

我现在面临着一个特殊的问题——当我在Visual Studio 2013中运行应用程序(使用Ctrl-F5或F5)时,一切正常。我能够编译资料并提取所有信息。 但是,当我打开命令行(cmd)并尝试从运行此控制台应用程序时,会出现以下错误:

Unhandled Exception: System.AggregateException: One or more errors occurred. ---> Microsoft.Build.Exceptions.InvalidProjectFileException: The imported project "
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Impor
When I run 
未处理的异常:System.AggregateException:发生一个或多个错误。-->Microsoft.Build.Exceptions.InvalidProjectFileException:导入的项目“

未找到C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets”。确认中的路径在生成服务器上存在此问题。当我瞄准目标时/tv:14.0(工具版本14.0,它是Roslyn构建引擎)

我通过转到C:\ProgramFiles(x86)\MSBuild\Microsoft\VisualStudio,然后创建像v14.0\WebApplications这样的文件夹来解决这个问题


然后,我带着Microsoft.WebApplication.targets进入我的系统(因为这是Visual Studio 2015发布的),并将该文件复制到build servers新文件夹中

通过添加NuGet引用,您可以使您的Web应用程序项目自包含,而不需要Visual Studio 2015进行编译。

向我们展示项目文件中的
。我也遇到了同样的问题。您曾经解决过这个问题吗?这不是一个真正的解决方案,但正如您所提到的,它可以在VS命令提示符下工作。作为一种解决方法,我创建了一个批处理文件,首先调用“C:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat”,然后应用程序运行良好。/p:VisualStudioVersion=11.0正常,/p:VisualStudioVersion=12.0失败,因此我创建了一个v12.0\WebApplications目录,从v11.0\WebApplications复制其内容,构建工作正常(不确定这实际上是在做什么,但它起作用)您的生成服务器上安装了Visual Studio 2012吗?版本12实际上是Visual Studio 2013。从开发人员计算机复制/粘贴不是一个好的解决方案,这是一个很好的解决方案。我添加了此参考,但现在其他一些第三方DLL被列为“未找到”或“丢失”.内置VS2015工作正常,但内置服务器抱怨缺少这些第三方引用。
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />