title: Visual Studio 2017, Service Fabric project, Sdk Targets: Error when packaging SF project
body: <p>The error displayed during build:
  error MSB4102: The value "" of the "Project" attribute in element  is invalid. Parameter "path" cannot have zero length.</p>
  
  <p>Reproduction steps are simple:
  VS 2017 RC 2.
  Create new Service Fabric Application targeting ASP.Net Core using Web API.
  Then attempt to package the service fabric project.</p>
  
  <p>I suspect there is a bug in Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets that is part of VS 2017.
  The one that sits in this directory: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\Service Fabric Tools</p>
  
  <p>In the sdk targets file, there is this statement.  </p>
  
  <pre><code>  &lt;PropertyGroup Condition="'$(LanguageTargets)' == ''"&gt;
      &lt;LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.csproj'"&gt;$(MSBuildToolsPath)\Microsoft.CSharp.targets&lt;/LanguageTargets&gt;
      &lt;LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.vbproj'"&gt;$(MSBuildToolsPath)\Microsoft.VisualBasic.targets&lt;/LanguageTargets&gt;
    &lt;/PropertyGroup&gt;
  
    &lt;!-- TODO: Generate error if LanguageTargets property isn't set here.  This would happen, for example if an .fsproj referenced the .NET Sdk 
                but not the FSharp one.  See https://github.com/dotnet/sdk/issues/448 --&gt;
    &lt;Import Project="$(LanguageTargets)"/&gt;
  </code></pre>
  
  <p>A little tough to decipher if you aren't used to it. But. In essence it is saying if it's a .csproj load the CSharp targets, if it is a .vbproj load the VB targets, if neither do nothing.
  Then the next line tries to import the targets specified.</p>
  
  <p>In the case of a Service Fabric project, that is a .sfproj, which means LanguageTargets is left blank and we get the error shown at the top of this post. The SF targets file should set LanguageTargets I think, before it reaches this line.</p>
  
  <p>I suspect this sdk.targets file is some default template that hasn't been updated to handle VS 2017 service fabric projects yet.</p>
  
  <p>Possible answer, but I don't like the idea of editing the Sdk.targets file installed by VS. Changing this line in Sdk.targets gets past this error, and doesn't cause any other errors in the build:
    </p>