System.Data.SQLite
View Ticket
Not logged in
Ticket UUID: 3cac1415709d1171f1f0435f0d7e19d1647cf0b4
Title: Use $(OutDir), not the legacy $(OutputPath) in System.Data.SQLite.Core.targets
Status: Closed Type: Incident
Severity: Important Priority: Medium
Subsystem: NuGetPackage Resolution: Duplicate
Last Modified: 2014-11-21 17:02:17
Version Found In:
User Comments:
anonymous added on 2014-11-21 12:34:16:
This is follow up to my [f16c93a9326ac3a32bcee5baa72fd447b1be1e1e]

System.Data.SQLite.Core.targets uses $$(OutputPath), which is a legacy property as noted in C:\Program Files (x86)\MSBuild\12.0\Bin\Microsoft.Common.CurrentVersion.targets (or C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets):

    OutputPath:
        This property is usually specified in the project file and is used to initialize OutDir.
        OutDir and OutputPath are distinguished for legacy reasons, and OutDir should be used if at all possible.:

It should use $(OutDir) instead.

Without that when someone changes OutDir to custom directory, sqlite dlls are not copied to that custom directory, but to the default location.

Changing OutDir is a common approach in build scripts (for example https://raw.githubusercontent.com/hibernating-rhinos/rhino-esb/master/default.ps1), this is also what TFS Build does (http://blog.stangroome.com/2014/02/10/override-the-tfs-team-build-outdir-property-in-tfs-2013/).

mistachkin added on 2014-11-21 17:02:17:
This issue is already fixed on trunk and is a duplicate of [b9741a9c25].