在SQLSERVER创建存储过程时发现SQLSERVER2008R2支持的.net版本是3.5
Open Microsoft Visual Studio >> Click New Project >> Select Visual C# >> Database >> SQL Server Project
在VS2010中创建了SQL SERVER工程
C# code
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcedureMail()
{
// 在此处放置代码
SqlPipe sp;
sp = SqlContext.Pipe;
String strCurrentTime = "Current System DateTime is: " + System.DateTime.Now.ToString();
sp.Send(strCurrentTime);
}
};
很简单的一个存储过程!编译通过,但是部署不能通过。
后来我就手工把编译好的DLL放到查询编辑器去
SQL code
CREATE ASSEMBLY MyMailMan from 'D:\NetPro\SqlServerProjectForMyMailMan.dll' WITH PERMISSION_SET = SAFE
得到如下反馈
消息 6257,级别 16,状态 1,第 1 行
为程序集“SqlServerProjectForMyMailMan”执行 CREATE ASSEMBLY 时失败,因为该程序集是为公共语言用户时的不受支持的版本生成的。
我后来懂了,原来是不支持.net4.0, 后来我把项目的目标框架改成.net3.5 部署成功了!存储过程确实成功的创建了!
所以我的问题是,在那里让我的SQL SERVER 2008R2 支持.net4.0呢?
请大牛们支招!
------解决方案--------------------
你想想看是Sql Server 2008R2先出还是Vs2010先出不就明白了嘛