System.Data.SQLite
View Ticket
Not logged in
Ticket UUID: 411e8bf7aaff298f4c806db67bff947ca2c2aa49
Title: x86 and x64 folders not copied on VS2015 for web publish
Status: Closed Type: Incident
Severity: Important Priority: Medium
Subsystem: NuGetPackage Resolution: Fixed
Last Modified: 2015-09-25 15:21:40
Version Found In: 1.0.98.0
User Comments:
anonymous added on 2015-09-24 22:22:44:
In VS 2015 when publish an web project folders x86 and x64 not copied to published app, I fix with next line on packages nuget folder packages\System.Data.SQLite.Core.1.0.98.1\build\net451 on file System.Data.SQLite.Core.targets: 

Or '$(VisualStudioVersion)' == '14.0'

This is the modified file:

<!--
 *
 * System.Data.SQLite.Core.targets -
 *
 * WARNING: This MSBuild file requires MSBuild 4.0 features.
 *
 * Written by Joe Mistachkin and David Archer.
 * Released to the public domain, use at your own risk!
 *
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--
  ******************************************************************************
  **                          Load Per-User Settings                          **
  ******************************************************************************
  -->

  <!--
      NOTE: If the per-user settings file exists, import it now.  The contained
            settings, if any, will override the default ones provided below.
  -->
  <Import Condition="'$(MSBuildThisFileDirectory)' != '' And
                     HasTrailingSlash('$(MSBuildThisFileDirectory)') And
                     Exists('$(MSBuildThisFileDirectory)\System.Data.SQLite.Core.targets.user')"
          Project="$(MSBuildThisFileDirectory)\System.Data.SQLite.Core.targets.user" />

  <!--
  ******************************************************************************
  **                    SQLite Interop Library Build Items                    **
  ******************************************************************************
  -->

  <ItemGroup>
    <SQLiteInteropFiles Condition="'$(MSBuildThisFileDirectory)' != '' And
                                   HasTrailingSlash('$(MSBuildThisFileDirectory)')"
                        Include="$(MSBuildThisFileDirectory)**\SQLite.Interop.*" />
  </ItemGroup>

  <!--
  ******************************************************************************
  **                   SQLite Interop Library Content Items                   **
  ******************************************************************************
  -->

  <ItemGroup Condition="'$(ContentSQLiteInteropFiles)' != '' And
                        '$(ContentSQLiteInteropFiles)' != 'false' And
                        '@(SQLiteInteropFiles)' != ''">
    <Content Include="@(SQLiteInteropFiles)">
      <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

  <!--
  ******************************************************************************
  **                   SQLite Interop Library Build Targets                   **
  ******************************************************************************
  -->

  <Target Name="CopySQLiteInteropFiles"
          Condition="'$(CopySQLiteInteropFiles)' != 'false' And
                     '$(OutDir)' != '' And
                     HasTrailingSlash('$(OutDir)') And
                     Exists('$(OutDir)')"
          Inputs="@(SQLiteInteropFiles)"
          Outputs="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')">
    <!--
        NOTE: Copy "SQLite.Interop.dll" and all related files, for every
              architecture that we support, to the build output directory.
    -->
    <Copy SourceFiles="@(SQLiteInteropFiles)"
          DestinationFiles="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')" />
  </Target>

  <!--
  ******************************************************************************
  -->

  <Target Name="CleanSQLiteInteropFiles"
          Condition="'$(CleanSQLiteInteropFiles)' != 'false' And
                     '$(OutDir)' != '' And
                     HasTrailingSlash('$(OutDir)') And
                     Exists('$(OutDir)')">
    <!--
        NOTE: Delete "SQLite.Interop.dll" and all related files, for every
              architecture that we support, from the build output directory.
    -->
    <Delete Files="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')" />
  </Target>

  <!--
  ******************************************************************************
  -->

  <Target Name="CollectSQLiteInteropFiles"
          Condition="'$(CollectSQLiteInteropFiles)' != 'false'">
    <ItemGroup>
      <FilesForPackagingFromProject Include="@(SQLiteInteropFiles)">
        <DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>

  <!--
  ******************************************************************************
  **                 SQLite Interop Library Build Properties                  **
  ******************************************************************************
  -->

  <PropertyGroup>
    <PostBuildEventDependsOn>
      $(PostBuildEventDependsOn);
      CopySQLiteInteropFiles;
    </PostBuildEventDependsOn>
    <BuildDependsOn>
      $(BuildDependsOn);
      CopySQLiteInteropFiles;
    </BuildDependsOn>
    <CleanDependsOn>
      $(CleanDependsOn);
      CleanSQLiteInteropFiles;
    </CleanDependsOn>
  </PropertyGroup>

  <!--
  ******************************************************************************
  **     SQLite Interop Library Publish Properties for Visual Studio 201x     **
  ******************************************************************************
  -->

  <PropertyGroup Condition="'$(VisualStudioVersion)' == '' Or
                            '$(VisualStudioVersion)' == '10.0' Or
                            '$(VisualStudioVersion)' == '11.0' Or
                            '$(VisualStudioVersion)' == '12.0' Or
							'$(VisualStudioVersion)' == '14.0'">
    <PipelineCollectFilesPhaseDependsOn>
      CollectSQLiteInteropFiles;
      $(PipelineCollectFilesPhaseDependsOn);
    </PipelineCollectFilesPhaseDependsOn>
  </PropertyGroup>
</Project>

anonymous added on 2015-09-24 22:26:22:
In VS 2015 when publish an web project folders x86 and x64 not copied to published app, I fix with next line on packages nuget folder packages\System.Data.SQLite.Core.1.0.98.1\build\net451 on file System.Data.SQLite.Core.targets: 

Or '$(VisualStudioVersion)' == '14.0'

This is the modified file:

<!--
 *
 * System.Data.SQLite.Core.targets -
 *
 * WARNING: This MSBuild file requires MSBuild 4.0 features.
 *
 * Written by Joe Mistachkin and David Archer.
 * Released to the public domain, use at your own risk!
 *
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--
  ******************************************************************************
  **                          Load Per-User Settings                          **
  ******************************************************************************
  -->

  <!--
      NOTE: If the per-user settings file exists, import it now.  The contained
            settings, if any, will override the default ones provided below.
  -->
  <Import Condition="'$(MSBuildThisFileDirectory)' != '' And
                     HasTrailingSlash('$(MSBuildThisFileDirectory)') And
                     Exists('$(MSBuildThisFileDirectory)\System.Data.SQLite.Core.targets.user')"
          Project="$(MSBuildThisFileDirectory)\System.Data.SQLite.Core.targets.user" />

  <!--
  ******************************************************************************
  **                    SQLite Interop Library Build Items                    **
  ******************************************************************************
  -->

  <ItemGroup>
    <SQLiteInteropFiles Condition="'$(MSBuildThisFileDirectory)' != '' And
                                   HasTrailingSlash('$(MSBuildThisFileDirectory)')"
                        Include="$(MSBuildThisFileDirectory)**\SQLite.Interop.*" />
  </ItemGroup>

  <!--
  ******************************************************************************
  **                   SQLite Interop Library Content Items                   **
  ******************************************************************************
  -->

  <ItemGroup Condition="'$(ContentSQLiteInteropFiles)' != '' And
                        '$(ContentSQLiteInteropFiles)' != 'false' And
                        '@(SQLiteInteropFiles)' != ''">
    <Content Include="@(SQLiteInteropFiles)">
      <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

  <!--
  ******************************************************************************
  **                   SQLite Interop Library Build Targets                   **
  ******************************************************************************
  -->

  <Target Name="CopySQLiteInteropFiles"
          Condition="'$(CopySQLiteInteropFiles)' != 'false' And
                     '$(OutDir)' != '' And
                     HasTrailingSlash('$(OutDir)') And
                     Exists('$(OutDir)')"
          Inputs="@(SQLiteInteropFiles)"
          Outputs="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')">
    <!--
        NOTE: Copy "SQLite.Interop.dll" and all related files, for every
              architecture that we support, to the build output directory.
    -->
    <Copy SourceFiles="@(SQLiteInteropFiles)"
          DestinationFiles="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')" />
  </Target>

  <!--
  ******************************************************************************
  -->

  <Target Name="CleanSQLiteInteropFiles"
          Condition="'$(CleanSQLiteInteropFiles)' != 'false' And
                     '$(OutDir)' != '' And
                     HasTrailingSlash('$(OutDir)') And
                     Exists('$(OutDir)')">
    <!--
        NOTE: Delete "SQLite.Interop.dll" and all related files, for every
              architecture that we support, from the build output directory.
    -->
    <Delete Files="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')" />
  </Target>

  <!--
  ******************************************************************************
  -->

  <Target Name="CollectSQLiteInteropFiles"
          Condition="'$(CollectSQLiteInteropFiles)' != 'false'">
    <ItemGroup>
      <FilesForPackagingFromProject Include="@(SQLiteInteropFiles)">
        <DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>

  <!--
  ******************************************************************************
  **                 SQLite Interop Library Build Properties                  **
  ******************************************************************************
  -->

  <PropertyGroup>
    <PostBuildEventDependsOn>
      $(PostBuildEventDependsOn);
      CopySQLiteInteropFiles;
    </PostBuildEventDependsOn>
    <BuildDependsOn>
      $(BuildDependsOn);
      CopySQLiteInteropFiles;
    </BuildDependsOn>
    <CleanDependsOn>
      $(CleanDependsOn);
      CleanSQLiteInteropFiles;
    </CleanDependsOn>
  </PropertyGroup>

  <!--
  ******************************************************************************
  **     SQLite Interop Library Publish Properties for Visual Studio 201x     **
  ******************************************************************************
  -->

  <PropertyGroup Condition="'$(VisualStudioVersion)' == '' Or
                            '$(VisualStudioVersion)' == '10.0' Or
                            '$(VisualStudioVersion)' == '11.0' Or
                            '$(VisualStudioVersion)' == '12.0' Or
							'$(VisualStudioVersion)' == '14.0'">
    <PipelineCollectFilesPhaseDependsOn>
      CollectSQLiteInteropFiles;
      $(PipelineCollectFilesPhaseDependsOn);
    </PipelineCollectFilesPhaseDependsOn>
  </PropertyGroup>
</Project>

mistachkin added on 2015-09-25 15:21:40:
Fixed on trunk via check-in [b1640c1f69].