将dll文件复制到ClickOnce部署中的.exe目录
Copy dll files to .exe directory in ClickOnce deployment
我的。net项目依赖于一堆本地dll库,这些库应该复制到与。exe文件相同的目录中。Dll文件被添加到主项目的"ExternalDependencies"文件夹中,并在自定义构建后操作时复制到输出文件夹。
当我用ClickOnce工具发布我的应用程序时,所有dll都放在ExternalDependencies/相对路径中,而不是在与exe相同的目录中。
我不想把库放在项目的根目录下,但是我必须找到一种在安装过程中改变相对路径的方法。我发现没有办法做到这一点,除了手动生成清单:https://msdn.microsoft.com/en-us/library/xc3tc5xx.aspx
也许我错过了什么?有更简单的方法吗?
好了,我明白了。这篇博文描述了项目文件隐藏的可能性,它允许我做我想做的事情:http://blogs.msdn.com/b/mwade/archive/2008/06/29/how-to-publish-files-which-are-not-in-the-project.aspx
基本上,如果你想要一个自定义路径,你应该为你将要部署的每个文件添加一个项目文件:
<ItemGroup>
<PublishFile Include="ExternalDependenciesDSAPI.dll">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>DSAPI.dll</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
TargetPath
属性是我正在寻找的。很遗憾你不能从VS UI更改它!
相关文章:
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在c++中打印目录
- 如何从Windows控制台调用.exe(C++)以在不同的目录(或任何目录)中创建文件夹?
- gcc 找不到 -lgcc, g++.exe: 错误: 创建进程: 没有这样的文件或目录
- CLR dll 无法运行托管 DLL,除非它位于 exe 目录(或其子目录)内
- 是否有 gcc 命令可以链接同一目录中的所有 .o 文件并生成.exe文件
- 如何将.EXE从C 项目复制到C#项目的输出目录
- g++.exe:error:libgomp-1.dll:没有这样的文件或目录;make:***[Out release]
- 将 exe 文件复制到 Qt 构建目录
- mingw32-g++.exe:错误:CreateProcess:再次没有这样的文件或目录
- 从目录中的指定文件夹打开文件,其中.exe为
- CFileDialog的当前目录在.exe和.dll不一致
- 如何设置 lua.dll这样 lua.exe 就不会在每个目录中要求它?
- CMD.EXE以上述路径作为当前目录启动.不支持UNC路径.默认为“Windows目录”
- exe在同一目录中找不到文本文件
- PHP exec()不运行.exe,除非两者在XAMPP的同一目录中
- 我怎么能运行一个.exe与dll在单独的目录
- 将dll文件复制到ClickOnce部署中的.exe目录
- 获取.exe目录中列出的所有文件,不知道位置