如何将System.Data.DataSetExtensions的引用添加到Web站点ascx.cs文件?
我们正在使用Web站点项目并尝试引用System.Data.DataSetExtensions
。 (使用Web应用程序会更好;但技术主管有她的理由。)
这是我们尝试过的:
- 找到assembly路径。
- 打开Visual Studio命令提示符并运行
sn.exe -T "full\path.dll"
- 根据公钥标记将以下内容添加到web.config中。
web.config> system.web>
完整路径是C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.DataSetExtensions.dll
尽管如此,当我们using System.Data.DataSetExtensions
添加到代码隐藏文件时,msbuild仍然抱怨。 是什么赋予了? 我们如何解决这个问题?
简答
问题是我们的using
声明。 所以,有两个要求。
- 参考web.config文件中的
System.Data.DataSetExtensions
。 (见下文查找完整的程序集名称。) - 在C#文件中为
System.Data
添加using
语句。
问题是我们的using语句用于System.Data.DataSetExtensions
。
说明
Rick Strahl解释说默认ASP.NET包括:
-
bin
路径中的所有程序集 - web.config
部分中的任何基于GAC的程序集引用
此外,我们能够从Visual Studio命令提示符查询GAC,如下所示:
> gacutil /l System.Data.DataSetExtensions Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.17929 Copyright (c) Microsoft Corporation. All rights reserved. The Global Assembly Cache contains the following assemblies: System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL Number of items = 2
这证实了我们想要的assembly是在GAC中。 它还列出了我们需要在web.config文件中引用的程序集的全名。