| 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 11.46 years ago |
Created: |
2014-10-17 16:04:59 11.57 years ago |
| Version Found In: | 1.0.94.0 | ||
| User Comments: | ||||
anonymous added on 2014-10-17 16:04:59:
(text/x-fossil-plain)
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:
(text/x-fossil-plain)
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:
(text/x-fossil-plain)
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:
(text/x-fossil-plain)
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:
(text/x-fossil-plain)
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:
(text/x-fossil-plain)
See also: http://sedodream.com/2012/10/09/VSWebPublishHowToIncludeFilesOutsideOfTheProjectToBePublished.aspx mistachkin added on 2014-11-08 00:06:56:
(text/x-fossil-plain)
Related to [f16c93a932]. mistachkin added on 2014-11-19 00:51:51:
(text/x-fossil-plain)
A candidate fix is checked in on the publishWithNuGetPkg branch, here: [/timeline?r=publishWithNuGetPkg] mistachkin added on 2014-11-25 17:31:26:
(text/x-fossil-plain)
Fixed on trunk via check-in [eb697cca1c]. Please let us know if this fix does not address the issue in your environment. | ||||