我有一个依赖第三方API的.NET解决方案。 API似乎主要是依赖于其他文件(sqlite,dll,license等)的接口。第三方类在我的许多项目中使用,似乎必须与我的最终可执行文件位于同一位置。
第三方目录看起来大致如下:
RootDirectory
File1.dll
File2.dll
Subdirectory
FileA
Subsubdirectory
FileB
FileC
etc.
在构建时,应用程序必须看起来像这样,否则API不起作用:
MyApp.exe
ThirdPartyAPI.dll
File1.dll
File2.dll
Subdirectory
FileA
Subsubdirectory
FileB
FileC
etc.
我希望将依赖文件结构保持在名为[SolutionDir] \ RootDirectory的位置,并让它们根据需要简单地复制到我的构建中。我似乎遇到的问题是我在编译时无法从RootDirectory复制文件。如果我尝试删除我的bin,它会说File1和File2正在使用中,所以我假设它已经成功了。
我尝试使用这个帖子构建事件: xcopy" $(SolutionDir)RootDirectory \" " $(TARGETDIR)" / s / e / h 它有时会起作用,其他时候也会失败,而且还没有找到原因。
有任何想法或其他想法吗?
答案 0 :(得分:0)
在visual studio中,您可以将解决方案文件链接到项目。
只需将第三方文件添加为解决方案文件,然后按住ALT键将它们拖到构建最终可执行文件的项目中并将其删除。
如果操作正确,这些文件将有一个小的蓝色图标。
最后,更改他们的"复制到输出目录"属性为"如果更新则复制"。
构建项目时,这些文件将被复制到输出目录。