System.Data.SQLite

Login
This project makes use of Eagle, provided by Mistachkin Systems.
Eagle: Secure Software Automation
2014-11-25
17:31 Closed ticket [e796ac82c1]: Publish project in Visual Studio does not copy interop files to destination plus 4 other changes artifact: a36022920b user: mistachkin
17:29
Make sure the interop files are copied before the PostBuildEvent. Fix for [f16c93a932]. Make sure the interop files are copied when publishing a project that refers to a NuGet package containing them. Fix for [e796ac82c1]. check-in: eb697cca1c user: mistachkin tags: trunk
2014-11-19
00:52 Ticket [e796ac82c1] Publish project in Visual Studio does not copy interop files to destination status still Pending with 3 other changes artifact: 82e094bb8c user: mistachkin
00:51 Ticket [e796ac82c1]: 3 changes artifact: 6d7cf171ec user: mistachkin
00:45
Make sure the interop files are copied when publishing a project that refers to a NuGet package containing them. Fix for [e796ac82c1]. check-in: ee40baa88e user: mistachkin tags: publishWithNuGetPkg
2014-11-18
22:14 Pending ticket [e796ac82c1]: Publish project in Visual Studio does not copy interop files to destination plus 3 other changes artifact: 56981fbcac user: mistachkin
2014-11-08
07:20 Ticket [e796ac82c1]: 4 changes artifact: 9a3df6439a user: mistachkin
07:18 Open ticket [e796ac82c1]. artifact: 83faa85505 user: mistachkin
00:06 Ticket [e796ac82c1]: 3 changes artifact: 37b877e88e user: mistachkin
2014-10-22
21:30 Ticket [e796ac82c1]: 3 changes artifact: c137332aef user: mistachkin
2014-10-20
19:31 Ticket [e796ac82c1]: 3 changes artifact: 11951c8c77 user: mistachkin
11:49 Ticket [e796ac82c1]: 3 changes artifact: 524e06068a user: anonymous
2014-10-18
21:33 Ticket [e796ac82c1]: 3 changes artifact: b2ac62b9ff user: anonymous
2014-10-17
23:02
First attempt to address [e796ac82c1]. check-in: 27212bfb22 user: mistachkin tags: publishWithNuGetPkg
18:48 Review ticket [e796ac82c1]: Publish project in Visual Studio does not copy interop files to destination plus 6 other changes artifact: 3dfd2260b9 user: mistachkin
16:04 New ticket [e796ac82c1]. artifact: 60ba2086fa user: anonymous

Ticket Hash: e796ac82c1c394db156e274fba9d1548e2b17229
Title: Publish project in Visual Studio does not copy interop files to destination
Status: Closed Type: Code_Defect
Severity: Important Priority: Blocker
Subsystem: NuGetPackage Resolution: Fixed
Last Modified: 2014-11-25 17:31:26
Version Found In: 1.0.94.0
User Comments:
anonymous added on 2014-10-17 16:04:59:
Hi,

I'm using the new Nuget package (1.0.94.0) and when I publish my project (MVC/API template) from Visual Studio the x86 and x64 folders aren't copied to publish destination.

mistachkin added on 2014-10-17 18:48:54:
I'm looking into this; however, if the "Publish" functionality in Visual Studio
does not take into account per-solution NuGet packages, this might be difficult
to fix.

anonymous added on 2014-10-18 21:33:50:
This issue also appears when creating a Post-build script to xcopy $(TargetDir)* to another folder.   

The x86 and x64 folders and interop dlls do not appear to exist before the post-build event script runs.

example:
xcopy "$(TargetDir)*.*" "$(SolutionDir)\InstallBuild" /YES

If you create a post-build script that fails, you can see that the x86 and x64 folders do not even get created in $(TargetDir)

example:
xcopy "$(TargetDir)*.*" "$(SolutionDir)\InstallBuild" /NOTAVALIDSWITCH

anonymous added on 2014-10-20 11:49:48:
Hi,

I added a new target to System.Data.SQLite.Core.targets and worked (using Visual Studio 2013).

  <Target Name="CollectSQLiteInteropFiles"
          Condition="'$(CollectSQLiteInteropFiles)' != 'false' And
                     '$(OutDir)' != '' And
                     HasTrailingSlash('$(OutDir)') And
                     Exists('$(OutDir)')">
    <ItemGroup>
      <FilesForPackagingFromProject Include="%(SQLiteInteropFiles.Identity)">
        <DestinationRelativePath>$(OutDir)%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>

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

mistachkin added on 2014-10-20 19:31:08:
We've got similar changes on the publishWithNuGetPkg branch.  I wonder if your
changes would work better.

mistachkin added on 2014-10-22 21:30:37:
See also:

http://sedodream.com/2012/10/09/VSWebPublishHowToIncludeFilesOutsideOfTheProjectToBePublished.aspx

mistachkin added on 2014-11-08 00:06:56:
Related to [f16c93a932].

mistachkin added on 2014-11-19 00:51:51:
A candidate fix is checked in on the publishWithNuGetPkg branch, here:

   [/timeline?r=publishWithNuGetPkg]

mistachkin added on 2014-11-25 17:31:26:
Fixed on trunk via check-in [eb697cca1c].  Please let us know if this fix does not
address the issue in your environment.