【发布时间】:2014-10-08 10:40:34
【问题描述】:
我在visual-studio-2013 中创建了一个包含三个项目的测试解决方案。有一个数据库项目、一个 PCL 和一个标准类库(我们称之为 SCL)。它们都是针对 .net-4.5.1 的 C# 项目。
如果我将数据库项目中的引用添加到 SCL,则所有内容都可以毫无问题地编译。如果我还添加了从数据库项目到 PCL 的引用,那么所有内容都会再次编译,而构建输出中不会出现任何警告。
但是……有这个:
我注意到 PCL 上的那个小警告标志。不幸的是,这就是我所拥有的。没有构建问题,构建输出中没有任何线索,如果我将符号悬停,则没有工具提示......什么都没有。我在网上也找不到任何关于使用(或不使用)PCL 作为sqlclr 应用程序参考的信息。
有人有想法吗?从 Visual Studio 中的 SQL Server 数据库项目引用 PCL 是否有任何问题?为什么它的处理方式与 SCL 不同?
我不能做太多测试,因为现在我还没有sql-server-2014 DB。我只是提前计划。
【问题讨论】:
-
您不能发布到与 Visual Studio 一起安装的 SQL Server Express 的本地实例吗?即使这只是 SQL Server 2012,就您要测试的内容而言,它应该是相同的。对于许多问题,直到您在 SQL Server 中运行 CREATE ASSEMBLY 后您才真正知道,因为此时会检查几个潜在问题,并且在编译时不知道是问题。
-
@srutzky 好建议,但是 Sql Server 2012 甚至支持 .NET 4.5.1 吗?也找不到任何相关信息。
-
SQL Server 2012 链接到 4.0 系列。我自己没有尝试过,但希望从 4.0 开始的任何东西都可以工作,即使目标框架是 4.5.1。但是,如果您使用的是从 4.5.1 开始的功能,那么这可能不起作用,至少在不将 4.5.1 BCL 加载为 UNSAFE 的情况下不会。无论哪种情况,您都需要对其进行测试,但这应该很容易,只需使用 Visual Studio 附带的工具或下载 SQL Server Express(免费版)。
-
我刚刚检查过,SQL Server 2012 和 2014 都链接到 .Net 4.0.30319。
-
@srutzky 我明白了...感谢您的帮助,我会尝试运行测试。
标签: visual-studio-2013 .net-4.5.1 sqlclr sql-server-2014 c# .net sql-server portable-class-library database-project