我有一个标准的VSIX项目,该项目在相同的解决方案中依赖于类库项目。在我将类库切换到新的VS2017RC简化的csproj之前,一切工作都很好。该类库构建良好(我的dotnet SDK为1.0.0-preview4-004233),但是当尝试构建VSIX时,我得到了:

error MSB4057: The target "BuiltProjectOutputGroupDependencies" does not exist in the project.

显然,这似乎与传统的VSIX csproj不兼容,期望从依赖项目中获得某些新的csproj无法提供的功能。

是否有人碰过这个问题或对解决这个问题有任何建议?我将研究删除项目引用并手动引用输出DLL。

附带说明一下,目前还不清楚VSIX将从类库中选择哪个输出DLL,因为新的csproj支持多个目标框架。

最佳答案

on the GitHub issue所述,这是一种解决方法:

  • 卸载VSIX项目。
  • 右键单击并编辑其.csproj文件。
  • 查找开始引起问题的项目的<ProjectReference>
  • 使用在引用的项目中定位的正确.NET Framework版本,添加元素<AdditionalProperties>TargetFramework=net452</AdditionalProperties>
  • 重新加载并重建VSIX项目。
  • 关于msbuild - 根据新的简化csproj,缺少 "BuiltProjectOutputGroupDependencies"构建VSIX,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41832161/

    10-16 20:08