小编Bog*_*dan的帖子

Visual Studio 2019 中的工具版本

我正在做几个项目从VS2010到VS2019的迁移。这些项目的 vcxprojs 中有工具版本 4:

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
Run Code Online (Sandbox Code Playgroud)

目标VS是VS2019 v16.5.0,MSBuild版本是16.5.0.12403,所以我尝试将ToolsVersion设置为16.5:

<Project DefaultTargets="Build" ToolsVersion="16.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
Run Code Online (Sandbox Code Playgroud)

但 MSBuild 似乎不喜欢它:

1>Building with tools version "Current".
1>Project file contains ToolsVersion="16.5". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="Current".
Run Code Online (Sandbox Code Playgroud)

尽管构建无论如何都是成功的,但我关心这个消息。这里可能出了什么问题?

UPD:
提供项目结构的简化示例:
常见道具:

<?xml version="1.0" encoding="utf-8"?>
<Project …
Run Code Online (Sandbox Code Playgroud)

msbuild visual-studio-2010 visual-studio-2019

5
推荐指数
1
解决办法
3万
查看次数

递归获取Postgres表中树的根ID

我有一个Postgres表users(E_8_User),其中包含User_id作为主键,Boss作为同一个表的外键(它不可为空,如果某些用户没有boss,则其Boss属性= user_id)。我需要为表中的所有用户获取他们的老板,所以我尝试编写 CTE 查询:

WITH RECURSIVE herarchy_reports AS (
    SELECT E_8_User.User_id, E_8_User.Boss, 1 as lvl, E_8_User.User_id as RootUserID
    FROM E_8_User
    WHERE E_8_User.User_id=E_8_User.Boss
    UNION ALL
    SELECT usr.User_id, usr.Boss, lvl+1 as lvl, rep.RootUserID
    FROM herarchy_reports as rep JOIN E_8_User as usr ON
    rep.user_id=usr.Boss
)
SELECT * FROM herarchy_reports ORDER BY RootUserID;
Run Code Online (Sandbox Code Playgroud)

但它不起作用:数据库不断执行查询。我究竟做错了什么?

sql postgresql recursive-query common-table-expression hierarchical-data

1
推荐指数
1
解决办法
603
查看次数