diff --git a/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference.slnx b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference.slnx
new file mode 100644
index 00000000..ae21e373
--- /dev/null
+++ b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Circular Reference.csproj b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Circular Reference.csproj
new file mode 100644
index 00000000..d52bd517
--- /dev/null
+++ b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Circular Reference.csproj
@@ -0,0 +1,24 @@
+
+
+
+ Exe
+ net8.0
+ Circular_Reference
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+
+
diff --git a/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Data/InputTemplate.xlsx b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Data/InputTemplate.xlsx
new file mode 100644
index 00000000..b3339c89
Binary files /dev/null and b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Data/InputTemplate.xlsx differ
diff --git a/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Output/.gitkeep b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Output/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Program.cs b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Program.cs
new file mode 100644
index 00000000..8e4ac8f2
--- /dev/null
+++ b/FAQ/Circular Reference/.NET/Circular Reference/Circular Reference/Program.cs
@@ -0,0 +1,30 @@
+using Syncfusion.XlsIO;
+
+class Program
+{
+ static void Main(string[] args)
+ {
+ // Create a new Excel application instance
+ using (ExcelEngine excelEngine = new ExcelEngine())
+ {
+ IApplication application = excelEngine.Excel;
+ IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath("Data/InputTemplate.xlsx"));
+
+ foreach (IWorksheet worksheetxls in workbook.Worksheets)
+ {
+ worksheetxls.EnableSheetCalculations();
+ worksheetxls.CalcEngine.AllowShortCircuitIFs = true;
+ worksheetxls.CalcEngine.UseFormulaValues = true;
+ // Enable circular reference handling
+ worksheetxls.CalcEngine.ThrowCircularException = true;
+ worksheetxls.CalcEngine.IterationMaxCount = 1000;
+ }
+
+ IWorksheet worksheet = workbook.Worksheets.First();
+ Console.WriteLine(worksheet["I234"].CalculatedValue);
+ Console.WriteLine(worksheet["J234"].CalculatedValue);
+
+ workbook.SaveAs(Path.GetFullPath("Output/Output.xlsx"));
+ }
+ }
+}