我有两个项目的解决方案:
在构建“WebService”项目后(在“Release”模式下),我无法在“WebService”Release文件夹中找到DataAccessLayer.dll.config文件和MySql.Data.dll文件。
更新 好吧,经过一些实验,我想在“DataAccessLayer”项目中将“MySql.Data.dll”引用的“Copy Local”属性设置为true,将其复制到构建时的DataAccessLayer“Release Folder”。但是,在构建“WebService”项目时 - 我在“WebService”的bin \ Release文件夹中看到的唯一文件是“DataAccessLayer.dll”文件,“WebService.dll”文件及其相对“.pdb”文件。 (仍然没有MySql.Data.dll和DataAccessLayer.dll.config)。
更新2: 好的,不确定是否有更优雅或更好的解决方案,但我最终在“WebService”项目中添加了“Post-Build”事件(项目属性 - >构建事件),该项目从“DataAccessLayer”输出复制两个文件目录到“WebService”输出目录,方式如下:
copy "$(SolutionDir)DataAccessLayer\bin\$(ConfigurationName)\MySql.Data.dll" "$(TargetDir)" &
copy "$(SolutionDir)DataAccessLayer\bin\$(ConfigurationName)\DataAccessLayer.dll.config" "$(TargetDir)"
如果有人想到更通用的方法,请告诉我!
谢谢,
米奇
答案 0 :(得分:0)
我假设DataAccessLayer项目引用了MySQL.Data.dll。如果是这种情况,请转到参考并打开其属性。应该有一个选项说Copy Local,仔细检查它是否设置为true(我认为它默认为false)。如果这不是问题,您也可以尝试在WebService项目中引用dll,它应该复制它。或者您可以将DLL添加到GAC,或者在最坏的情况下,您可以随时手动复制文件(只要它在bin目录中,它应该找到它),但这会长期存在。