Visual studio 在未安装VS的生成服务器上生成VS 2015扩展?

Visual studio 在未安装VS的生成服务器上生成VS 2015扩展?,visual-studio,msbuild,visual-studio-2015,teamcity,visual-studio-sdk,Visual Studio,Msbuild,Visual Studio 2015,Teamcity,Visual Studio Sdk,在未安装Visual Studio的情况下,是否可以在生成服务器(TeamCity代理)上生成Visual Studio 2015扩展项目?我们需要安装什么样的SDK 目前,我们收到以下错误消息: 错误MSB4019:未找到导入的项目“C:\Program Files(x86)\MSBuild\Microsoft\Portable\v4.6\Microsoft.Portable.CSharp.targets”。确认声明中的路径正确,并且文件存在于磁盘上 因此,肯定缺少某种SDK。下载 包含用于生

在未安装Visual Studio的情况下,是否可以在生成服务器(TeamCity代理)上生成Visual Studio 2015扩展项目?我们需要安装什么样的SDK

目前,我们收到以下错误消息:

错误MSB4019:未找到导入的项目“C:\Program Files(x86)\MSBuild\Microsoft\Portable\v4.6\Microsoft.Portable.CSharp.targets”。确认声明中的路径正确,并且文件存在于磁盘上

因此,肯定缺少某种SDK。

下载

包含用于生成托管VSIX的目标和工具 未安装VSSDK MSI的项目。仅适用于VS 2015及以后

可能感兴趣的其他套餐:

看起来您必须在生成代理上安装。您可以从VS Gallery下载它们并安装它们,而无需在构建代理上使用VS,使用以下参数
/buildmachine

,使用@weir的答案几乎奏效-项目构建成功,但最终未能生成VSIX容器。出于某种原因,Nuget包没有向.csproj添加必要的导入以引入VsSDK.targets,因此VSIX目标丢失并且从未执行过

以下是对我有效的步骤:

  • 编辑VSIX project.csproj文件,并删除
    Import project=“$(VSToolsPath)\VSSDK\Microsoft.VSSDK.targets”条件=“'$(VSToolsPath)”!=”+/>
    。这将在VSToolsPath中不存在VSSDK的生成服务器上失败
  • 在VS2015 IDE中,打开项目的Nuget软件包管理器,并安装Microsoft.VSSDK.BuildTools(我使用的是v14.3.25407)
  • 回到.csproj文件中,找到Nuget包添加的导入,例如
    ,并在其下方为VsSDK.targets文件添加另一个导入(在工具目录中),

  • @downvoter:请详细说明原因,我很高兴更新我的问题。不幸的是,这不包含VS扩展SDK。这听起来很完美,但是,NuGet软件包似乎过时了:
    无法解析依赖项。”“Microsoft.CodeAnalysis.Analyzers 1.1.0”与“Microsoft.CodeAnalysis.Common 1.0.0约束”不兼容。可能性:1)尝试添加程序包。2) 跟踪或参与Roslyn GitHub存储库中的讨论。3) 年向Microsoft寻求帮助。我尝试了类似于我处理web应用程序的方式,它构建时没有出现错误,但实际上没有做任何事情。@D.R.-更新:Microsoft似乎已经解决了依赖性问题:感谢您提供的信息-但它看起来还没有合并。我也有同样的错误。已安装便携式库工具。这个错误消失了。但根据链接,这是VS10的便携库。我和VS15一起工作。因此,在build server中出现错误“导入的项目”C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets“未找到”。我在哪里可以找到适用于VS15的便携式库工具?这对我来说很有用-我的本地和appVeyor版本都运行良好,但我的Travis版本却没有。所以我做了步骤1,省略了步骤2,因为我已经有了nuget包(v15.1.192),然后做了步骤3(我添加了
    ),Travis构建现在成功了。