【问题标题】:Namespace could not be found - building using TFS [closed]找不到命名空间 - 使用 TFS 构建 [关闭]
【发布时间】:2013-08-15 23:15:12
【问题描述】:

我在使用 TFS 时遇到问题。它不会构建我的项目,因为

找不到类型或命名空间名称“Newtonsoft”(您是否缺少 using 指令或程序集引用?)

我尝试通过 nuget 添加它,但我仍然收到此错误。当我通过 nuget 添加此 dll 时,我还有其他项目可以正常工作。此外,该项目的本地构建是成功的。我在解决方案中创建了一个新文件夹,然后将 dll 放入其中并引用了它。

【问题讨论】:

  • 是否使用了该命名空间?你有参考吗?
  • 你签入编译失败的项目文件了吗?
  • 第三方引用 dll 是否在单独的文件夹中,例如“大会”?这个单独的文件夹是否包含在您的构建中?
  • 另外,什么样的构建?本地还是服务器?该 .dll 需要在运行构建的任何机器上,并且构建定义需要指向该位置。
  • @GianlucaBobbio 是的命名空间正在被使用和引用。本地构建成功

标签: c# visual-studio tfs json.net


【解决方案1】:

如果您的本地构建成功而只是 TFS 构建失败,则通常是由于 dll 引用路径问题。确保 Dll 在项目文件 (.csproj) 中被引用为相对路径。

要在单独的目录中添加相对引用,例如 C:\tfs_get\Sources\assembly\abc.dll,请执行以下操作:

通过右键单击解决方案资源管理器中的项目并选择“添加引用”,在 Visual Studio 中添加引用。

找到此引用所在的 *.csproj 并在文本编辑器中打开它。假设您的 .csproj 位置是 c:\tfs_get\sources\myfolder\myproject\myproj.csproj

编辑 等于

..\..\assembly\abc.dll

假设源文件夹下的文件夹(程序集、myfolder)存在于 TFS 中,此构建将正常工作。

希望这会有所帮助。

【讨论】:

  • 嗯,一切似乎都很好,提示路径正是指向 dll 文件的位置。但没有运气
  • 但是位置在哪里?在您的本地项目中? o 在您的 TFS 项目中?我的意思是,它正在引用一个解决方案中的项目?
  • 好的,如果位置正确,那么DLL如何到达那里?是否签入到 TFS?还是正在建造?如果它正在构建,请确保特定项目在您的项目之前是编译器。还要回答 GianlucaBobbio 关于 DLL 位置的问题。您必须解释更多您的情况,您做了什么等,以便我们为您提供帮助。
  • 其实就是一个本地项目转换成TFS项目。在添加对本地项目文件夹的引用并对其进行引用后,我确实签入了
  • - 打开“Source Explorer” - 选择程序集文件夹 - 右键单击​​并选择“将项目添加到文件夹” - 选择 DLL 文件并单击完成
猜你喜欢
  • 1970-01-01
  • 2011-03-03
  • 1970-01-01
  • 2011-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
相关资源
最近更新 更多