<p dir="auto"><strong>TypeScript Version:</strong></p>
<p dir="auto">1.8.2</p>
<p dir="auto">When building a Visual Studio solution using a tsconfig.json file, the CompileTypeScriptWithTSConfig task reports "Skipping target "CompileTypeScriptWithTSConfig" because all output files are up-to-date with respect to the input files.", even though I have indeed modified my .ts files since the last build. I see this behavior both building from the command line and from within the IDE. If I select "Rebuild Solution" from within the IDE, the files get compiled correctly. Also, if I remove the tsconfig.json file (thus using the properties in the .csproj file), the files also get compiled correctly.</p>
<p dir="auto">FWIW, I would actually prefer to use the .csproj file rather than a tsconfig.json file, but as it stands now I cannot specify certain options (such as --noImplicitReturns and --noFallthroughCasesInSwitch) in the .csproj file.</p>
<p dir="auto">In the typescript targets:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="    &lt;VsTsc
      ToolPath=&quot;$(TscToolPath)&quot;
      ToolExe=&quot;$(TscToolExe)&quot;
      TSConfigFile=&quot;%(ConfigFiles.Identity)&quot;
      YieldDuringToolExecution=&quot;$(TscYieldDuringToolExecution)&quot;
      ProjectDir=&quot;$(ProjectDir)&quot;
      ToolsVersion=&quot;$(TypeScriptToolsVersion)&quot;
      TypeScriptCompileBlocked=&quot;$(TypeScriptCompileBlocked)&quot;
      ComputeOutputOnly=&quot;false&quot;&gt;

      &lt;Output TaskParameter=&quot;GeneratedJavascript&quot; ItemName=&quot;emittedFiles&quot; /&gt;
    &lt;/VsTsc&gt;"><pre class="notranslate"><code class="notranslate">    &lt;VsTsc
      ToolPath="$(TscToolPath)"
      ToolExe="$(TscToolExe)"
      TSConfigFile="%(ConfigFiles.Identity)"
      YieldDuringToolExecution="$(TscYieldDuringToolExecution)"
      ProjectDir="$(ProjectDir)"
      ToolsVersion="$(TypeScriptToolsVersion)"
      TypeScriptCompileBlocked="$(TypeScriptCompileBlocked)"
      ComputeOutputOnly="false"&gt;

      &lt;Output TaskParameter="GeneratedJavascript" ItemName="emittedFiles" /&gt;
    &lt;/VsTsc&gt;
</code></pre></div>
<p dir="auto">The output parameter GeneratedJavascript includes a js file for every ts file in the project even if:</p>
<ol dir="auto">
<li>The file is not set to TypeScriptCompile.</li>
<li>The file is excluded or not matched in tsconfig.json.</li>
</ol>
<p dir="auto">Side affect is publish fails trying to copy files that do not exist.</p>