title: What does a .NET Core Self-Contained Deployment Without a Runtime Defined Produce?
body: <p>I have a project that has a csproj similar to:</p>
  
  <pre><code>&lt;PropertyGroup&gt;
    &lt;OutputType&gt;Exe&lt;/OutputType&gt;
    &lt;TargetFrameworks&gt;netstandard2.0;netcoreapp1.1&lt;/TargetFrameworks&gt;
    &lt;AssemblyName&gt;ConsoleApp&lt;/AssemblyName&gt;
    &lt;PackageId&gt;ConsoleApp&lt;/PackageId&gt;
    &lt;Version&gt;1.0.0.1&lt;/Version&gt;
    &lt;RootNamespace&gt;ConsoleApp&lt;/RootNamespace&gt;
    &lt;RuntimeIdentifiers&gt;win10-x64;android.21;android.21-arm64;osx.10.12;rhel7.4;centos.7-x64;debian.8-x64;ubuntu.16.10-x64;fedora.26-x64;opensuse.42.1-x64&lt;/RuntimeIdentifiers&gt;
  &lt;/PropertyGroup&gt;
  
  &lt;ItemGroup Condition=" '$(_ShortFrameworkIdentifier)' == 'netstandard' "&gt;   
    &lt;PackageReference Include="Microsoft.NETCore.Runtime.CoreCLR" Version="1.1.1" /&gt;
    &lt;PackageReference Include="Microsoft.NETCore.DotNetHostPolicy" Version="1.1.0" /&gt;
  &lt;/ItemGroup&gt;
  </code></pre>
  
  <p>If I run <code>dotnet publish -c Release -f netstandard2.0</code> and don't specify a runtime I get output at: <code>..\bin\Release\netstandard2.0\publish</code> that has what looks like it would be a self-contained deployment, except the main "executable" is a dll (as opposed to if I defined a runtime I'd get an exe or a file with no extension) as well as a folder called runtimes, which looks like it has some runtime specific libraries for different OS's like unix, osx, rhel, like System.Security.Cryptography.Algorithms, etc.</p>
  
  <p>What does this type of publishing actually produce? Is this set of of files in any way useful?</p>