我有一個打字稿項目。 devenv不斷重建這個項目。診斷輸出包含此行:devenv總是重建我的項目,因爲打字稿文件比pdb文件更新
Project 'Benefits' is not up to date. Input file 'C:\abc\UI\BenefitsWeb\Scripts\Benefits\Modules\PPACA\ApprovalScreen.ts' is modified after output file 'C:\abc\UI\BenefitsWeb\bin\Dayforce.Web.Benefits.pdb'.
那麼,我該如何解決此問題?前面提到的打印文件比PDB更真實。但PDB不是打字稿的輸出!
這是我如何編譯我的打字稿文件:
<PropertyGroup>
<CompileDependsOn>
$(CompileDependsOn);
CompileTypeScript
</CompileDependsOn>
</PropertyGroup>
<Target Name="GetInputs">
...
</Target>
<Target Name="GetOutputs">
...
</Target>
<Target Name="CompileTypeScript" DependsOnTargets="GetInputs;GetOutputs" Inputs="@(InputTypeScripts)" Outputs="@(OutputJavaScripts)">
...
</Target>
該項目指定TypeScriptCompile
項目組中的打字稿文件,例如:
<TypeScriptCompile Include="Scripts\Benefits\Modules\PPACA\CalendarSetup.ts" />
當然,@(OutputJavaScripts)
列出了預期.js
僅文件。沒有PDB文件。
那麼如何devenv匹配與PDB文件的打字稿文件?我如何解決它?
EDIT 1
我想澄清。它實際上不重新編譯打字稿或C#文件(第一次它重新編譯打字稿文件,但僅此)。它開始構建,因爲typescript比PDB更新,但是它確認沒有實際更改PDB依賴關係。 JavaScript文件也是如此 - 它們都是最新的。所以沒有什麼是真正重建的,但爲什麼要首先進入構建序列!
這真的很有趣。您可以在更改之前和之後發佈csproj文件中的代碼片段嗎? – mark