2011-08-24 79 views
0

我在我的应用程序中使用依赖注入,并且通过实现我的合同的项目上的后期构建事件将用于契约实现的dll复制到我的应用程序bin文件夹中。我已经这样做了,所以我不必引用这些项目,并且我正在使用约定配置类名等。在发布期间从bin文件夹复制动态复制的DLL

但是,当我发布应用程序时,dll不会作为发布的一部分进行复制。任何人都知道解决这个问题?

回答

0

不使用Post Build事件,而是将dll作为项目的一部分。在您的解决方案资源管理器中,右键单击该dll,选择属性并将“构建操作”设置为“复制如果较新”。发布时,dll将始终包含在内。

+0

我知道如何添加引用 - 使用依赖注入时的问题与IOC是我不希望我的主应用程序项目知道什么是谁或什么是实施它依赖的合同,使用后构建事件意味着在运行时,我使用的DI lib可以扫描应用程序bin文件夹并找到所需合同的匹配类 – jcvandan

+0

Build Events不适合MSBuild,它们由Visual Studio IDE处理。如果你打算自动化你的构建,Build Events不会自动启动。处理您的情况最好的办法是在文本模式下打开您的项目文件,并添加 <目标名称=“BeforePublish”> <复制SourceFiles =“yourSourcePath \ yourfile” DestinationFiles =“publishPath \ yourfile”> – Arun

+0

即使这并不完全解决我的问题,这是我最终做了如此标记的答案 – jcvandan

相关问题