【发布时间】:2014-03-26 11:15:33
【问题描述】:
我在我的项目中使用了各种第 3 方程序集(本机、nuget 程序包),这些程序集有时针对不同的平台 (x86/amd64) 进行了优化。 Visual Studio 会自动将它们复制到应用程序根目录(通常是 bin\Debug\PLATFORM)中,这会造成完全非结构化的混乱。
现在我正在寻找一种将第 3 方 dll 自动复制到自定义子目录中的方法。我知道从与应用程序根目录不同的位置(app.config 或代码中的私有路径)加载程序集的各种方法,但不知道如何自动将它们复制到那里。
所需结构
bin\
release\
x64\
MyApp.exe
MyApp.exe.config
cfg\
custom.config
lib\
ninject\
Ninject.dll
Ninject.Extensions
Ninject.Extensions.Logging
SomeNativeDll\
native_x64.dll
OtherStuff.dll
x86\
...
我已经找到了一种使用 Post Build Events 的方法,但是使用类似脚本语言的批处理声明每个引用是 PITA!
【问题讨论】:
标签: c# .net visual-studio visual-studio-2012 msbuild