msbuild - 缺少 "BuiltProjectOutputGroupDependencies"根据新的简化 csproj 构建 VSIX

标签 msbuild vsix csproj visual-studio-2017

我有一个标准的 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>到开始导致问题的项目。
  • 添加元素 <AdditionalProperties>TargetFramework=net452</AdditionalProperties> ,使用您在引用项目中定位的正确 .NET Framework 版本。
  • 重新加载并重建 VSIX 项目。
  • 关于msbuild - 缺少 "BuiltProjectOutputGroupDependencies"根据新的简化 csproj 构建 VSIX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41832161/

    相关文章:

    c# - 如何使用 MSBuild 和 IIExpress.exe 从命令行构建和运行 .NET Framework MVC 项目

    visual-studio-2010 - MSbuild 是否需要在构建服务器上安装 Visual Studio?

    wpf - XamlParseException 在 VS 扩展项目中使用 Extended.Wpf.Toolkit

    javascript - 如何从 visual studio 项目中排除文件/文件夹?

    svn - 我怎样才能使用 MSBuild 来(真正)运行 AfterPublish

    c# - 如何使用名为 Configuration 的 MSBuild 命令行参数作为条件编译符号?

    c# - MSBuild 在缺少项目文件时强制编译失败

    c# - 调用 visual studio 模态对话框

    visual-studio-extensions - Visual Studio 扩展中的 app.config?

    visual-studio-2010 - 如何通过 Visual Studio 自动化在我的解决方案中添加对另一个项目的引用