我有一个aspx.cs文件,我正在添加代码。我在我的解决方案中拥有所有正确的命名空间和引用,但我的代码引用了错误的命名空间,并在Server server = new Server()
System.Web.UI是一个'属性',但用作'类型'
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.IO;
using System.Data.SqlClient;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace IISLoggingSolution
{
public partial class Main : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//connection string for SQL DB
string connectionString = @"Data Source=Computer\SQLEXPRESS;Initial Catalog=IISLogs;Integrated Security=True";
//Location of the query to be ran
string script = File.ReadAllText(@"C:\\Users\\User\\Desktop\\query.txt");
SqlConnection conn = new SqlConnection(connectionString);
//this is the error line
Server server = new Server(new ServerConnection(conn));
//executes query
server.ConnectionContext.ExecuteNonQuery(script);
}
}
}
如何让它使用Microsoft.SqlServer.Management.Smo而不是尝试使用System.Web.UI?
答案 0 :(得分:2)
using NS_Server = Microsoft.SqlServer.Management.Common;
using System.Web.UI;
...
NS_Server.Server server = new NS_Server.Server();
使用NS_Server的行是别名。当存在名称空间冲突时,您可以将其用作快捷方式。
答案 1 :(得分:0)
您可以使用别名指令:
使用Server = Microsoft.SqlServer.Management ... Server;
如果属性优先,它可能无效,但在那个cas中你只需指定完整的namespade路径。
var server = new Microsoft.SqlServer.Management....Server();