我有一个包含单个项目文件的解决方案。我正在部署为ClickOnce应用程序。这一切都在我的计算机上运行良好但是当我尝试在其他人上运行它时我得到了这个错误
System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
System.Windows.Forms.DataVisualization
在我的项目中作为参考加载了facet,我相信在使用它的时候应该使用适当的语句。
当我转到我的项目属性>发布>应用程序文件... System.Windows.Forms.DataVisualization旁边有一个感叹号,工具提示文本“此项目不再被项目引用。如果是不再需要,可以通过右键单击该项目来删除它。“发布状态为“包含”,哈希为“包含”。但是,发布状态不是“包含(自动)”; Exclude旁边有自动文本。但无论我是包含还是排除我在其他人的机器上运行时都会遇到同样的错误。
您认为我应该怎样做才能正确引用此文件?
由于
更新
我尝试过设置Local Copy = true,构建重建无效。
我现在正在审查所有其他建议。 (这是我和电脑之间漫长的步行不起作用!)
答案 0 :(得分:15)
听起来你需要在你的redist中加入链接下载 - 即使你有可能缺少依赖关系的程序集:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14422
答案 1 :(得分:2)
我知道这个问题已经发布已经有一段时间了,但我遇到了同样的问题,并设法解决了这个问题。
为了在其他计算机上运行应用程序,我在其他计算机上安装了Microsoft Chart Controls - 只需在http://www.microsoft.com/download/en/details.aspx?id=14422下载并运行MSChart.exe。
答案 2 :(得分:2)
重新安装MSChart.exe
这对我有帮助!答案 3 :(得分:1)
在MSDN上讨论了这个具体问题:
该帖子指出了一个建议的解决方案:
http://www.thehat.free-online.co.uk/MSChart/
通常,Fuslogvw(融合日志查看器)是您的朋友,了解为什么.NET无法加载引用。
当日志记录处于活动状态时,会记录用于尝试解决依赖关系的策略,并且fuslogvw可让您查看策略。
在找到DLL的计算机和未找到DLL的计算机上运行,并比较日志结果。
答案 4 :(得分:0)
也许dll在你的GAC中,所以.net找到它。但是您没有将它与您的应用程序一起部署,并且在其他计算机上失败。你可以做的是找到dll添加它作为你的项目的参考(因为你失去了它)并确保copy local设置为true。
答案 5 :(得分:0)
只需在web.comfig文件中更改版本
EX: - 命名空间=" System.Web.UI.DataVisualization.Charting" assembly =" System.Web.DataVisualization,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"