【问题标题】:Why am I missing a reference?为什么我缺少参考?
【发布时间】:2014-04-29 03:01:21
【问题描述】:

当我在 TFS 中构建时,我有这样的东西:

App_Start\BundleConfig.cs (2): The type or namespace name 'Optimization' does not exist 
in the namespace 'System.Web' (are you missing an assembly reference?)  

Global.asax.cs (3): The type or namespace name 'Optimization' does not exist in the 
namespace 'System.Web' (are you missing an assembly reference?)

App_Start\BundleConfig.cs (9): The type or namespace name 'BundleCollection' could not be 
found (are you missing a using directive or an assembly reference?)

我已经浏览了这个链接:

http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

http://docs.nuget.org/docs/reference/package-restore-with-team-build

但似乎没有任何帮助:/ 在我的本地副本上,一切都构建并运行正常。我正在寻找任何解决方案,但似乎没有任何帮助。我还删除了 packages 文件夹,以便 TFS 可以下载它(至少是我在网上找到的),但这也无济于事。我的想法不多了。谢谢。

【问题讨论】:

    标签: c# .net asp.net-mvc-4 visual-studio-2012 tfs


    【解决方案1】:

    搜索构建日志并确认构建过程正在下载缺少的 NuGet 包。

    还要验证您的构建机器是否安装了 .NET 4.5。从MSDN page for the namespace System.Web.Optimization判断,该包只支持.NET 4.5及以上。

    【讨论】:

    • 我认为你不能在 4.0 项目上使用它;查看我的更新答案。
    • 是的,我已经看到了,但我们的解决方案中有一个 mvc4 项目,它的构建很好,没有出现此类问题。我已将属性中的 freamweork 从 4 更改为 4.5 也许会有所帮助?而且我还看到我在库的 xml 版本中的 *.csproj 文件中设置为 1.00,但路径是 1.3 的东西......我已经将它更改为 1.0,我会看看会发生什么
    • 是的,但是当我创建 mvc 4 项目时,它为我添加了这个文件(我使用了名为 ASP.NET MVC 4 应用程序的模板),这一切都在。但是当我尝试签入它说我缺少那个文件
    • 您的本地计算机已安装 .NET 4.5,因此可以正常工作。构建机器需要新版本的 .NET 才能针对 System.Web.Optimization 进行构建。
    • 好的,我明白这一点,但是我们也有一个使用相同 DLL 并且运行和构建良好的 MVC4 项目是如何可能的。我的不是……
    【解决方案2】:

    好的,我想我应该写信告诉你我已经解决了这个问题。

    似乎在解决方案的包文件夹中缺少 dll。我已将这些项目添加到包文件夹中。事实上,我上次这样做了,但它也没有帮助。但是今天我注意到我的应用程序正在寻找的库已从签入中排除。我不知道为什么,但我已经包含了所有已排除的内容。按照 Babak Naffas 我遇到的问题可能是因为在构建服务器上安装了 .net 4.0。所以我也将traget框架属性从net45更改为net40。现在它正在建设中:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 2013-12-20
      • 2011-08-21
      • 2018-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多