I Export ruleset as ".rules "using ExternalRuleset.
but now i wanted to use that ".rules file" in RulesetToolKitUsageSample.
I commented the database retrival thing in the following procedure of Ruleset Service class and written the File Operation code
public RuleSet GetRuleSet(RuleSetInfo ruleSetInfo){
if (ruleSetInfo != null){
//SqlConnection sqlConn = new SqlConnection(connectionString); //sqlConn.Open(); //string commandString; //// if both the major and minor are 0, it is assumed that a specific version is not being requested //bool specificVersionRequested = !(ruleSetInfo.MajorVersion == 0 && ruleSetInfo.MinorVersion == 0); //if (specificVersionRequested) //{ // commandString = String.Format(CultureInfo.InvariantCulture, "SELECT TOP 1 * FROM RuleSet WHERE Name=@name AND MajorVersion={0} AND MinorVersion={1} ORDER BY MajorVersion DESC, MinorVersion DESC", ruleSetInfo.MajorVersion, ruleSetInfo.MinorVersion); //} //else //{ // commandString = "SELECT TOP 1 * FROM RuleSet WHERE Name=@name ORDER BY MajorVersion DESC , MinorVersion DESC"; //} //SqlCommand command = new SqlCommand(commandString, sqlConn); //command.Parameters.Add("@name", System.Data.SqlDbType.NVarChar, 128); //command.Parameters["@name"].Value = ruleSetInfo.Name; //SqlDataReader reader = command.ExecuteReader(); //RuleSetData data = null; //if (reader.HasRows) //{ // reader.Read(); // try // { // data = new RuleSetData(); // data.Name = reader.GetString(0); // data.OriginalName = data.Name; // will be used later to see if one of these key values changed // data.MajorVersion = reader.GetInt32(1); // data.OriginalMajorVersion = data.MajorVersion; // data.MinorVersion = reader.GetInt32(2); // data.OriginalMinorVersion = data.MinorVersion; // data.RuleSetDefinition = reader.GetString(3); // data.Status = reader.GetInt16(4); // data.AssemblyPath = reader.GetString(5); // data.ActivityName = reader.GetString(6); // data.ModifiedDate = reader.GetDateTime(7); // data.Dirty = false; // } // catch (InvalidCastException) // { // MessageBox.Show("Error parsing table row", "RuleSet Open Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // } //} //sqlConn.Close();StreamReader SR; string S;
SR =
File.OpenText("c:\\rule2.rules");S = SR.ReadToEnd();
SR.Close();
RuleSetData data = new RuleSetData();data.RuleSetDefinition = S;
if (data != null) return data.RuleSet;else
throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, "No RuleSets exist with this name: '{0}'", ruleSetInfo.Name));}
else{
return null;}
}
but i am getting ruleset object as null.
Help me.

ruleSetToolKitUsageSample
ZBizKiT
TextReader ruleReader = File.OpenText("c:\\rule2.rules");
try
{
using (XmlReader xmlReader = XmlReader.Create(ruleReader))
{
WorkflowMarkupSerializer xomlSerializer = new WorkflowMarkupSerializer();
RuleDefinitions ruleDef = xomlSerializer.Deserialize(xmlReader) as RuleDefinitions;
if (ruleDef != null && ruleDef.RuleSets.Contains(ruleSetInfo.Name))
{
return ruleDef.RuleSets(ruleSetInfo.Name);
}
}
}
finally
{
ruleReader.Close();
}