M. *_*ley 63 dll visual-studio
如何在Visual Studio中设置项目以复制项目引用之一所依赖的第三方DLL?
我有一个主应用程序项目和一个类库DLL.主应用程序引用类库DLL,DLL本身引用一些第三方DLL.当我编译主应用程序时,它会自动将类库DLL复制到其输出目录,但它不会复制第三方DLL.
我不想从主应用程序项目添加对第三方DLL的引用,因为主应用程序不使用它们,它们仅由类库使用.
Bri*_*ian 38
您可以使用项目属性窗口实现此目的.Visual Studio允许您定义要在构建之前,之后或之后发生的事件.要进入项目属性窗口,只需在解决方案资源管理器窗口中右键单击您的项目,然后单击"属性".从左侧转到"构建事件"选项卡.
在post-build框中输入一些复制命令.例如:
copy "$(SolutionDir)mydll.dll" "$(TargetDir)"
Run Code Online (Sandbox Code Playgroud)
哪里$(SolutionDir)和$(TargetDir)都是预定义的变量.标准语法如下:
copy "source directory and file name" "destination directory"
Run Code Online (Sandbox Code Playgroud)
如果你单击"编辑后期构建..."按钮,它将弹出一个框,其中包含可以插入的这些预定义变量的列表(如$(SolutionDir)和$(TargetDir))
作为旁注,这是复制其他文件的有用过程,例如自定义配置文件,图像或项目可能具有的任何其他依赖项.
ser*_*gtk 25
以下片段适合我:
<Project>
...
<ItemGroup>
<Content Include="Path\to\dll\dllname.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
...
</Project>
Run Code Online (Sandbox Code Playgroud)
这适用于C#.对于本机C++,它仍然将dll复制到输出文件夹,但是这种依赖关系在Visual Studio中不可见,应该直接在项目文件中进行编辑.
为了测试非平凡的例子,我尝试运行C#项目A,它依赖于本机C++项目B.B项目依赖于第三方本机dll C - 这种依赖是通过项目文件中的片段实现的.当我构建A时,C被复制到二进制文件夹.
我在Visual Studio 2010中尝试过它.
看看Alex Yakunin提供的这个解决方案 http://blog.alexyakunin.com/2009/09/making-msbuild-visual-studio-to.html 它非常适合我 - DevExpress库明确使用的场景有部署时导致问题的其他依赖项)
这两个步骤 - 引用库的copy-local = true和间接引用的msbuild目标为我自动构建设置.
| 归档时间: |
|
| 查看次数: |
55112 次 |
| 最近记录: |