在Azure上发布后未找到程序集/引用

时间:2015-03-03 14:46:46

标签: c# asp.net azure reference csproj

我有一个MVC5 Web应用程序(VS2012),它引用了WCF应用程序。 架构看起来像这样:

- Business library
-- References to DAL
- DAL library
- WCF application
-- References to Ressources
-- References to Business
-- References to DAL
- Web application
-- References to WCF application
-- References to Ressources
- AzureCloudService
-- WebRole for Web application
-- WebRole for WCF application
- Ressources
-- References to Business
-- References to DAL

我已经为Web和Wcf应用程序创建了一个带有2个WebRoles的AzureCloudService。当我发布AzureCloudService时,不会抛出任何错误。 但是,当我转到Azure上的Web应用程序时,找不到许多引用或程序集。所以,我必须在.csproj文件中添加以下行:

<Reference Include="Tools, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" />

因为项目参考还不够:

<ProjectReference Include="..\Tools\Tools.csproj">
  <Project>{guid}</Project>
  <Name>Tools</Name>
</ProjectReference>

但是,当我添加Wcf应用程序和Ressources引用时,即使Web应用程序中没有项目引用,它也会请求Business。毕竟,我以下面的错误告诉我,我觉得我做错了。请有人提示或建议吗?

Couldn't find type for class Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.

当然,.csproj中存在以下行,但似乎无法正常工作......或者我不了解某些内容。

<Reference Include="Microsoft.WindowsAzure.Diagnostics, Version=2.5.0.0, Culture=neutral, PublicKeyToken=somenumber">
  <Private>True</Private>
</Reference>

1 个答案:

答案 0 :(得分:0)

<强>更新 经过一些研究,我发现我的WebRoles中的所有项目引用都不包括在Cloud Services出版物中。

目前,我必须通过远程桌面访问云服务VM,并从我的本地&#34; / bin&#34;复制/粘贴.dll。目录为approot和siteroot&#34; / bin&#34;目录。 但是,当由于Azure可伸缩性而销毁并重新创建实例时,.dll就会消失。 所以,我对这些没有发送的项目dll感到绝望。

有什么想法吗?