我有一个Visual Studio 2013类库项目,目录结构如下:
\MyClassLibraryProject
\ExternalLibraries
3rdPartyLib.dll
\bin
\Debug
\Release
etc.
Inside ExternalLibraries我复制了一些第三方程序集,然后我从项目中引用了它(Copy local = true)。我编译项目,在我的Release目录中,我当然看到我的MyClassLibraryProject.dll和第三方DLL,如3rdPartyLib.dll等。到目前为止很好。
然后我有另一个项目(控制台应用程序 - Azure webjob),我从中添加了对\ MyClassLibraryProject \ bin \ Release \ MyClassLibraryProject.dll(Copy local = true)的引用。它看起来像这样:
\MyWebjob
\bin
\Debug
MyWebJob.exe
MyClassLibraryProject.dll
3rdPartyLib.dll
正如您所看到的,当我添加对MyClassLibraryProject.dll的引用(使用Copy local = true)时,它还复制了它的依赖程序集3rdPartyLib.dll。好到目前为止。
但是,将webjob项目发布到Azure时(右键单击“项目”,“发布...”),部署了而不是的第3PartyLib.dll。结果,webjobs仪表板抱怨它无法找到,当然webjob也无法执行。
此用户是否有错误?
答案 0 :(得分:5)
这是一个问题。您需要通过nuget手动部署或添加依赖项到webjob。
看看这个 Relevant dependencies (DLL) not being copied when deploying using Visual Studio 2013