使用Visual Studio

时间:2016-01-10 15:09:05

标签: asp.net visual-studio azure dll

我的(C#Asp.net)网站在本地工作,但当我将其发布到Azure时,它缺少一个dll(OpenXML SDK)。

经过大量的谷歌搜索后,我发现我应该将Copy Local属性设置为True。但问题是,我的解决方案资源管理器中没有引用节点。即使我创建了一个新项目,并添加了一些引用,那里也没有引用节点。 (MS Visual Studio Express 2013 for Web)

Solution Explorer

这是错误:

  

分析器错误消息:无法加载文件或程序集[...]   系统找不到指定的文件。

错误是由此行引起的(在我的Web.config文件中):

<add assembly="DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

请帮助我:

  • 显示引用节点
  • 或手动上传所需的dll(感觉很奇怪)
  • 或者在我的Web.config中添加一些魔术命令,使其自动上传使用过的dll-s。

1 个答案:

答案 0 :(得分:0)

我的解决方案资源管理器中缺少引用节点,因为我选择创建网站而不是Web应用程序。对于网站,实际的物理文件夹结构是同步到服务器的内容。它没有References节点(并且从它的外观来看,还有很多其他的东西都缺失了,因为基本的想法有点不同 - 有关详细信息,请参阅this discussion。)

这个问题有两个解决方案:

  • 将我的网站项目转换为Web应用程序项目(instructions here
  • 在我的项目文件夹中添加Bin文件夹(即包含项目名称的文件夹,其中包含我的.aspx文件的文件夹),并在该文件夹中包含必要的dll

我选择后者。再次发布网站后,Visual Studio会自动上传包含dll的Bin文件夹,它就像魅力一样。