Visual studio 2013 从SQL Server数据库项目引用可移植类库时出现问题

Visual studio 2013 从SQL Server数据库项目引用可移植类库时出现问题,visual-studio-2013,.net-4.5.1,sqlclr,sql-server-2014,c#,.net,sql-server,portable-class-library,database-project,Visual Studio 2013,.net 4.5.1,Sqlclr,Sql Server 2014,C#,.net,Sql Server,Portable Class Library,Database Project,我在中创建了一个测试解决方案,其中包括三个项目。有一个数据库项目、一个PCL和一个标准类库(我们称之为SCL)。它们都是C#项目的目标 如果我将数据库项目中的引用添加到SCL,则所有内容都可以顺利编译。如果我还添加了一个从数据库项目到PCL的引用,那么在编译输出中所有内容都不会出现任何警告 然而。。。这是: 我注意到PCL上有一个小小的警告标志。不幸的是,我只有这些。没有构建问题,构建输出中没有线索,如果我悬停符号,也没有工具提示。。。没有什么。我在网上也找不到任何关于使用(或不使用)PCL作

我在中创建了一个测试解决方案,其中包括三个项目。有一个数据库项目、一个PCL和一个标准类库(我们称之为SCL)。它们都是C#项目的目标

如果我将数据库项目中的引用添加到SCL,则所有内容都可以顺利编译。如果我还添加了一个从数据库项目到PCL的引用,那么在编译输出中所有内容都不会出现任何警告

然而。。。这是:

我注意到PCL上有一个小小的警告标志。不幸的是,我只有这些。没有构建问题,构建输出中没有线索,如果我悬停符号,也没有工具提示。。。没有什么。我在网上也找不到任何关于使用(或不使用)PCL作为应用程序参考的信息

有人有主意吗?在Visual Studio中从SQL Server数据库项目中引用PCL是否有任何问题?为什么它的治疗方式与SCL不同


我不能做很多测试,因为现在我还没有DB。我只是在提前计划。

对于其他发现此问题并对该图标感到好奇的人(就像我一样),当根据不同的.NET framework版本构建类型库时,会出现此黄色符号:

当Visual Studio 2013默认创建.NET 4.0项目时,使用较新类库构建的数据库项目通常会出现这种情况*

要删除符号,请确保数据库项目和类库使用相同的.NET Framework版本(例如4.0、4.5.1等)

您可以通过Properties->SQLCLR->target framework设置数据库项目的目标框架:

据我所知,这只是一个警告标志,因为代码按照预期编译、链接和运行



*-.NET 4.5使用SQL Server对象资源管理器的数据库上下文菜单中的“新建项目”时。使用SQL Express 2014 SP1

是否可以发布到随Visual Studio一起安装的SQL Server Express的本地实例?即使这只是SQL Server 2012,就测试内容而言也应该是相同的。对于许多问题,只有在SQL Server中运行“创建程序集”时您才会知道,因为此时会检查一些潜在问题,并且在编译时这些问题是未知的。@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加载为不安全的情况下是不起作用的。在这两种情况下,您都需要对其进行测试,但只要使用Visual Studio附带的工具或下载SQL Server Express(免费版本),这应该很容易。我刚刚检查过,SQL Server 2012和2014都链接到了.Net 4.0.30319。@srutzky我明白了。。。谢谢你的帮助,我会试着运行测试。