diff --git a/Examples/csharp/class/.cvsignore b/Examples/csharp/class/.cvsignore
index fccb2721d..4fa8caf32 100644
--- a/Examples/csharp/class/.cvsignore
+++ b/Examples/csharp/class/.cvsignore
@@ -6,9 +6,14 @@ runme
*.dll
*.dsw
*.exp
+*.ilk
*.lib
*.ncb
*.opt
*.plg
+*.suo
+*.pdb
+example-cs.csproj.user
+obj
Release
Debug
diff --git a/Examples/csharp/class/example-cs.csproj b/Examples/csharp/class/example-cs.csproj
new file mode 100644
index 000000000..0b9ea2e05
--- /dev/null
+++ b/Examples/csharp/class/example-cs.csproj
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/class/example-vc.vcproj b/Examples/csharp/class/example-vc.vcproj
new file mode 100644
index 000000000..7c0b8ef13
--- /dev/null
+++ b/Examples/csharp/class/example-vc.vcproj
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/class/example.sln b/Examples/csharp/class/example.sln
new file mode 100644
index 000000000..28b9851b0
--- /dev/null
+++ b/Examples/csharp/class/example.sln
@@ -0,0 +1,30 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "example-cs", "example-cs.csproj", "{C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C2302635-D489-4678-96B4-70F5309DCBE6} = {C2302635-D489-4678-96B4-70F5309DCBE6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-vc", "example-vc.vcproj", "{C2302635-D489-4678-96B4-70F5309DCBE6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.ActiveCfg = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.Build.0 = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.ActiveCfg = Release|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.Build.0 = Release|.NET
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.ActiveCfg = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.Build.0 = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.ActiveCfg = Release|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Examples/csharp/enum/.cvsignore b/Examples/csharp/enum/.cvsignore
index fccb2721d..4fa8caf32 100644
--- a/Examples/csharp/enum/.cvsignore
+++ b/Examples/csharp/enum/.cvsignore
@@ -6,9 +6,14 @@ runme
*.dll
*.dsw
*.exp
+*.ilk
*.lib
*.ncb
*.opt
*.plg
+*.suo
+*.pdb
+example-cs.csproj.user
+obj
Release
Debug
diff --git a/Examples/csharp/enum/example-cs.csproj b/Examples/csharp/enum/example-cs.csproj
new file mode 100644
index 000000000..e709407aa
--- /dev/null
+++ b/Examples/csharp/enum/example-cs.csproj
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/enum/example-vc.vcproj b/Examples/csharp/enum/example-vc.vcproj
new file mode 100644
index 000000000..7c0b8ef13
--- /dev/null
+++ b/Examples/csharp/enum/example-vc.vcproj
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/enum/example.sln b/Examples/csharp/enum/example.sln
new file mode 100644
index 000000000..28b9851b0
--- /dev/null
+++ b/Examples/csharp/enum/example.sln
@@ -0,0 +1,30 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "example-cs", "example-cs.csproj", "{C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C2302635-D489-4678-96B4-70F5309DCBE6} = {C2302635-D489-4678-96B4-70F5309DCBE6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-vc", "example-vc.vcproj", "{C2302635-D489-4678-96B4-70F5309DCBE6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.ActiveCfg = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.Build.0 = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.ActiveCfg = Release|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.Build.0 = Release|.NET
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.ActiveCfg = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.Build.0 = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.ActiveCfg = Release|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Examples/csharp/funcptr/.cvsignore b/Examples/csharp/funcptr/.cvsignore
index fccb2721d..4fa8caf32 100644
--- a/Examples/csharp/funcptr/.cvsignore
+++ b/Examples/csharp/funcptr/.cvsignore
@@ -6,9 +6,14 @@ runme
*.dll
*.dsw
*.exp
+*.ilk
*.lib
*.ncb
*.opt
*.plg
+*.suo
+*.pdb
+example-cs.csproj.user
+obj
Release
Debug
diff --git a/Examples/csharp/funcptr/example-cs.csproj b/Examples/csharp/funcptr/example-cs.csproj
new file mode 100644
index 000000000..5ff0d9da9
--- /dev/null
+++ b/Examples/csharp/funcptr/example-cs.csproj
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/funcptr/example-vc.vcproj b/Examples/csharp/funcptr/example-vc.vcproj
new file mode 100644
index 000000000..03047bfb0
--- /dev/null
+++ b/Examples/csharp/funcptr/example-vc.vcproj
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/funcptr/example.sln b/Examples/csharp/funcptr/example.sln
new file mode 100644
index 000000000..28b9851b0
--- /dev/null
+++ b/Examples/csharp/funcptr/example.sln
@@ -0,0 +1,30 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "example-cs", "example-cs.csproj", "{C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C2302635-D489-4678-96B4-70F5309DCBE6} = {C2302635-D489-4678-96B4-70F5309DCBE6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-vc", "example-vc.vcproj", "{C2302635-D489-4678-96B4-70F5309DCBE6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.ActiveCfg = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.Build.0 = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.ActiveCfg = Release|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.Build.0 = Release|.NET
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.ActiveCfg = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.Build.0 = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.ActiveCfg = Release|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Examples/csharp/reference/.cvsignore b/Examples/csharp/reference/.cvsignore
index fccb2721d..4fa8caf32 100644
--- a/Examples/csharp/reference/.cvsignore
+++ b/Examples/csharp/reference/.cvsignore
@@ -6,9 +6,14 @@ runme
*.dll
*.dsw
*.exp
+*.ilk
*.lib
*.ncb
*.opt
*.plg
+*.suo
+*.pdb
+example-cs.csproj.user
+obj
Release
Debug
diff --git a/Examples/csharp/reference/example-cs.csproj b/Examples/csharp/reference/example-cs.csproj
new file mode 100644
index 000000000..e55912bdc
--- /dev/null
+++ b/Examples/csharp/reference/example-cs.csproj
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/reference/example-vc.vcproj b/Examples/csharp/reference/example-vc.vcproj
new file mode 100644
index 000000000..7c0b8ef13
--- /dev/null
+++ b/Examples/csharp/reference/example-vc.vcproj
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/reference/example.sln b/Examples/csharp/reference/example.sln
new file mode 100644
index 000000000..28b9851b0
--- /dev/null
+++ b/Examples/csharp/reference/example.sln
@@ -0,0 +1,30 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "example-cs", "example-cs.csproj", "{C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C2302635-D489-4678-96B4-70F5309DCBE6} = {C2302635-D489-4678-96B4-70F5309DCBE6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-vc", "example-vc.vcproj", "{C2302635-D489-4678-96B4-70F5309DCBE6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.ActiveCfg = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.Build.0 = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.ActiveCfg = Release|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.Build.0 = Release|.NET
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.ActiveCfg = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.Build.0 = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.ActiveCfg = Release|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Examples/csharp/reference/index.html b/Examples/csharp/reference/index.html
deleted file mode 100644
index 946bda0fa..000000000
--- a/Examples/csharp/reference/index.html
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-SWIG:Examples:java:reference
-
-
-
-
-
-SWIG/Examples/java/reference/
-
-
-C++ Reference Handling
-
-$Header$
-
-
-This example tests SWIG's handling of C++ references. Since C++
-references are closely related to pointers (as both refer to a
-location in memory), SWIG simply collapses all references into
-pointers when creating wrappers.
-
-
Some examples
-
-References are most commonly used as function parameter. For example,
-you might have an operator like this:
-
-
-
-Vector operator+(const Vector &a, const Vector &b) {
- Vector result;
- result.x = a.x + b.x;
- result.y = a.y + b.y;
- result.z = a.z + b.z;
- return result;
-}
-
-
-
-or a function:
-
-
-
-Vector addv(const Vector &a, const Vector &b) {
- Vector result;
- result.x = a.x + b.x;
- result.y = a.y + b.y;
- result.z = a.z + b.z;
- return result;
-}
-
-
-
-In these cases, SWIG transforms everything into a pointer and creates a wrapper
-that looks like this:
-
-
-
-Vector wrap_addv(Vector *a, Vector *b) {
- return addv(*a,*b);
-}
-
-
-
-Occasionally, a reference is used as a return value of a function
-when the return result is to be used as an lvalue in an expression.
-The prototypical example is an operator like this:
-
-
-
-Vector &operator[](int index);
-
-
-
-or a method:
-
-
-
-Vector &get(int index);
-
-
-
-For functions returning references, a wrapper like this is created:
-
-
-
-Vector *wrap_Object_get(Object *self, int index) {
- Vector &result = self->get(index);
- return &result;
-}
-
-
-
-The following header file contains some class
-definitions with some operators and use of references.
-
-SWIG Interface
-
-SWIG does NOT support overloaded operators so it can not directly build
-an interface to the classes in the above file. However, a number of workarounds
-can be made. For example, an overloaded operator can be stuck behind a function
-call such as the addv() function above. Array access can be handled
-with a pair of set/get functions like this:
-
-
-
-class VectorArray {
-public:
- ...
- %addmethods {
- Vector &get(int index) {
- return (*self)[index];
- }
- void set(int index, Vector &a) {
- (*self)[index] = a;
- }
- }
- ...
-}
-
-
-
-Click here to see a SWIG interface file with these additions.
-
-Sample Java program
-
-Click here to see a Java program that manipulates some C++ references.
-
-Notes:
-
-
-- C++ references primarily provide notational convenience for C++
-source code. However, Java only supports the 'x.a'
-notation so it doesn't much matter.
-
-
-
- When a program returns a reference, a pointer is returned.
-Unlike return by value, memory is not allocated to hold the
-return result.
-
-
-
- SWIG has particular trouble handling various combinations of references
-and pointers. This is side effect of an old parsing scheme and
-type representation that will be replaced in future versions.
-
-
-
-
-
-
diff --git a/Examples/csharp/simple/.cvsignore b/Examples/csharp/simple/.cvsignore
index fccb2721d..4fa8caf32 100644
--- a/Examples/csharp/simple/.cvsignore
+++ b/Examples/csharp/simple/.cvsignore
@@ -6,9 +6,14 @@ runme
*.dll
*.dsw
*.exp
+*.ilk
*.lib
*.ncb
*.opt
*.plg
+*.suo
+*.pdb
+example-cs.csproj.user
+obj
Release
Debug
diff --git a/Examples/csharp/simple/example-cs.csproj b/Examples/csharp/simple/example-cs.csproj
new file mode 100644
index 000000000..d801057d9
--- /dev/null
+++ b/Examples/csharp/simple/example-cs.csproj
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/simple/example-vc.vcproj b/Examples/csharp/simple/example-vc.vcproj
new file mode 100644
index 000000000..be0dfc742
--- /dev/null
+++ b/Examples/csharp/simple/example-vc.vcproj
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/simple/example.sln b/Examples/csharp/simple/example.sln
new file mode 100644
index 000000000..28b9851b0
--- /dev/null
+++ b/Examples/csharp/simple/example.sln
@@ -0,0 +1,30 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "example-cs", "example-cs.csproj", "{C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C2302635-D489-4678-96B4-70F5309DCBE6} = {C2302635-D489-4678-96B4-70F5309DCBE6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-vc", "example-vc.vcproj", "{C2302635-D489-4678-96B4-70F5309DCBE6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.ActiveCfg = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.Build.0 = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.ActiveCfg = Release|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.Build.0 = Release|.NET
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.ActiveCfg = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.Build.0 = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.ActiveCfg = Release|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Examples/csharp/template/.cvsignore b/Examples/csharp/template/.cvsignore
index fccb2721d..4fa8caf32 100644
--- a/Examples/csharp/template/.cvsignore
+++ b/Examples/csharp/template/.cvsignore
@@ -6,9 +6,14 @@ runme
*.dll
*.dsw
*.exp
+*.ilk
*.lib
*.ncb
*.opt
*.plg
+*.suo
+*.pdb
+example-cs.csproj.user
+obj
Release
Debug
diff --git a/Examples/csharp/template/example-cs.csproj b/Examples/csharp/template/example-cs.csproj
new file mode 100644
index 000000000..b51122ba6
--- /dev/null
+++ b/Examples/csharp/template/example-cs.csproj
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/template/example-vc.vcproj b/Examples/csharp/template/example-vc.vcproj
new file mode 100644
index 000000000..867e694c1
--- /dev/null
+++ b/Examples/csharp/template/example-vc.vcproj
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/template/example.sln b/Examples/csharp/template/example.sln
new file mode 100644
index 000000000..28b9851b0
--- /dev/null
+++ b/Examples/csharp/template/example.sln
@@ -0,0 +1,30 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "example-cs", "example-cs.csproj", "{C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C2302635-D489-4678-96B4-70F5309DCBE6} = {C2302635-D489-4678-96B4-70F5309DCBE6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-vc", "example-vc.vcproj", "{C2302635-D489-4678-96B4-70F5309DCBE6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.ActiveCfg = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.Build.0 = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.ActiveCfg = Release|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.Build.0 = Release|.NET
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.ActiveCfg = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.Build.0 = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.ActiveCfg = Release|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Examples/csharp/variables/.cvsignore b/Examples/csharp/variables/.cvsignore
index fccb2721d..4399c46c9 100644
--- a/Examples/csharp/variables/.cvsignore
+++ b/Examples/csharp/variables/.cvsignore
@@ -10,5 +10,9 @@ runme
*.ncb
*.opt
*.plg
+*.suo
+*.pdb
+example-cs.csproj.user
+obj
Release
Debug
diff --git a/Examples/csharp/variables/example-cs.csproj b/Examples/csharp/variables/example-cs.csproj
new file mode 100644
index 000000000..f0e015929
--- /dev/null
+++ b/Examples/csharp/variables/example-cs.csproj
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/variables/example-vc.vcproj b/Examples/csharp/variables/example-vc.vcproj
new file mode 100644
index 000000000..be0dfc742
--- /dev/null
+++ b/Examples/csharp/variables/example-vc.vcproj
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/csharp/variables/example.sln b/Examples/csharp/variables/example.sln
new file mode 100644
index 000000000..28b9851b0
--- /dev/null
+++ b/Examples/csharp/variables/example.sln
@@ -0,0 +1,30 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "example-cs", "example-cs.csproj", "{C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C2302635-D489-4678-96B4-70F5309DCBE6} = {C2302635-D489-4678-96B4-70F5309DCBE6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-vc", "example-vc.vcproj", "{C2302635-D489-4678-96B4-70F5309DCBE6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.ActiveCfg = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Debug.Build.0 = Debug|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.ActiveCfg = Release|.NET
+ {C17D27DF-4C57-4625-AEE0-A40C4F48FF1A}.Release.Build.0 = Release|.NET
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.ActiveCfg = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Debug.Build.0 = Debug|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.ActiveCfg = Release|Win32
+ {C2302635-D489-4678-96B4-70F5309DCBE6}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal