我在 MS VisualStudio (2015) 中构建了一个 C# 应用程序,并将其 checkin 到为我工作的公司托管的 VisualStudio 存储库中。 我在 VisualStudio 服务器上定义了一个“构建”配置文件,并启用了“持续集成”,因此每次 checkin 时都会构建它。 到目前为止一直运行良好...
我必须添加一些调用 Oracle 服务器的代码,所以在我的代码中我有
OracleConnection conn = new OracleConnection(connString);
...
在顶部
using Oracle.ManagedDataAccess.Client;
在我的项目中我做了:
添加 > 引用 > 程序集 > 扩展 > Oracle.ManagedDataAccess
所以,这一切都在我的开发 PC 上构建和运行。
但是,在 TeamFoundationServer 上,构建现在失败并显示消息
Error CS0246: The type or namespace name 'Oracle' could not be found (are you missing a using directive or an assembly reference?)
在源文件的 using
行上。
我假设服务器将包含 Oracle 扩展,因为它现在在项目文件(已 checkin )中引用。我还需要采取其他步骤吗?
最佳答案
扩展
列表中列出的程序集是由您安装到 Visual Studio 中的扩展提供的(我猜测您已经安装了“Oracle Developer Tools for Visual Studio”扩展)。
因为此扩展尚未安装在您的构建服务器上(也不应该安装),所以构建服务器自然会提示它找不到引用。
解决方案是删除您添加的引用,而是添加对包含 Oracle 驱动程序的 NuGet 包的引用。这看起来是正确的:https://www.nuget.org/packages/Oracle.ManagedDataAccess/
然后,您的构建服务器将像获取任何其他程序集一样获取 NuGet 包。
关于使用 CI 构建的 C# 项目 - 对 Oracle 扩展的引用导致构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42392615/