gpt4 book ai didi

build - 项目构建在错误的、看似随机的目录中寻找文件

转载 作者:行者123 更新时间:2023-12-01 11:39:13 29 4
gpt4 key购买 nike

我在 VS2013 中有几个 SSDT 项目,我发现自己越来越多地被一个恼人的构建问题打断,我的在线搜索没有得到任何答案。

通常这些 SSDT 项目会按预期构建。然而,最近有时会出现看似随机的构建问题,仅影响一个或多个 SSDT 项目 - 我的解决方案中的 ~50 个 C# 项目都没有:SSDT 无法找到项目的文件,因为它在其他项目中查找它们目录

例如,这里是一个 SSDT 构建的输出,这个问题被这个问题阻碍了,然后是同一个 SSDT 项目的构建,这个问题被清除了(只需关闭并重新打开 Visual Studio...或者在这不起作用 - 即没有代码更改):

构建失败

------ Build started: Project: MyOrg.SomeSolution.Database, Configuration: Debug Any CPU ------
C:\SCC\SomeSolution\trunk\Database\Source\Scripts\Script.PostDeployment.sql(25,4): Error: SQL72001: The included file SomeTable.data.sql (C:\SCC\SomeSolution\TRUNK\COMPONENTS\SOMECATEGORY\FOO\FOO.UNIT.TESTS\SCRIPTS\SOMETABLE.DATA.SQL) does not exist.
Done building project "MyOrg.SomeSolution.Database.sqlproj" -- FAILED.

Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

Build Summary
-------------
00:00.506 - Failed - Debug Any CPU - Database\Source\MyOrg.SomeSolution.Database.sqlproj

Total build time: 00:56.948

========== Build: 0 succeeded or up-to-date, 1 failed, 52 skipped, Completed at 4/24/2014 3:12:01 PM ==========
Publish cannot begin until your project is ready to build. Try again after resolving any errors in the project.

构建成功

------ Build started: Project: MyOrg.SomeSolution.Database, Configuration: Debug Any CPU ------
MyOrg.SomeSolution.Database -> C:\SCC\SomeSolution\trunk\Database\Build\Scripts\MyOrg.SomeSolution.Database.dll
MyOrg.SomeSolution.Database -> C:\SCC\SomeSolution\trunk\Database\Build\Scripts\MyOrg.SomeSolution.Database.dacpac
C:\SCC\SomeSolution\trunk\Database\Build\PostBuild.bat
Generating publish script for database '_TheDatabase_' on server 'localhost'.
Successfully generated script to file C:\SCC\SomeSolution\trunk\Database\Build\Scripts\MyOrg.SomeSolution.Database.sql.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

Build Summary
-------------
00:10.928 - Success - Debug Any CPU - Database\Source\MyOrg.SomeSolution.Database.sqlproj

Total build time: 00:00.000

========== : 1 succeeded or up-to-date, 0 failed, 52 skipped, Completed at 4/24/2014 3:16:11 PM ==========

虽然上面的构建输出是在发布的上下文中,但在问题出现时独立于发布的构建会产生相同的结果。

最后,我感觉到这个问题可能是在 Visual Studio 检测到我的解决方案、它的项目和/或其文件的外部更改,然后按照我的指示重新加载它们之后出现的;但这并不是我通过集中实验证实(否定)的假设,而只是我在工作过程中产生的怀疑。

有没有其他人遇到过这个问题并找到解决方法?

最佳答案

这是 SSDT forum post that @KevinCunnane cited 中现在提议的修复:

<Target Name="SqlBuild"
Inputs="@(SqlBuildInputItem->'%(FullPath)')"
Outputs="@(SqlBuildOutputItem)"
DependsOnTargets="$(SqlBuildDependsOn)">

<SqlBuildTask
PostdeployItem="@(PostDeploy->'%(FullPath)')"
PredeployItem="@(PreDeploy->'%(FullPath)')"
RefactorLog="@(RefactorLog->'%(FullPath)')"
SqlTarget="@(SqlTarget)"

这些更改将在 "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT\Microsoft.Data.Tools.Schema.SqlTask​​s.targets" 并将出现在计划于本月晚些时候发布的下一个 SSDT 版本中。

我的第一个带有更改的构建成功了,但是......我的第一个构建也成功了,使用了之前在 SSDT 论坛中建议的修复:我今天将击败现在提出的修复并报告。

关于build - 项目构建在错误的、看似随机的目录中寻找文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23304170/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com