Index: Source/Phases/ParsePhase.cobra
===================================================================
--- Source/Phases/ParsePhase.cobra	(revision 2284)
+++ Source/Phases/ParsePhase.cobra	(working copy)
@@ -32,10 +32,12 @@
 			modules.add(module)
 
 		didError = false
+		ncsfiles = 0	
 		for filename in .compiler.pathsToCompile
 			if filename.endsWith('.cs')
 				if .verbosity, print 'Noting  [filename]'  # extra space to line up with 'Parsing [filename]'
 				modules.add(SharpModule(filename, .verbosity))
+				ncsfiles += 1	
 			else
 				parser = CobraParser()
 				parser.verbosity = .verbosity
@@ -56,6 +58,8 @@
 					modules.add(module)
 		assert modules.count or didError
 		compiler.modules.addRange(modules)
+		if ncsfiles == modules.count # all modules are .cs
+			compiler.noCobraSources 
 		_parsedModules = nil
 
 	def parseCommandLineArgsCallBack(args as IList<of String>, isAvailable as out bool) as String?
Index: Source/Phases/IdentifyMainPhase.cobra
===================================================================
--- Source/Phases/IdentifyMainPhase.cobra	(revision 2284)
+++ Source/Phases/IdentifyMainPhase.cobra	(working copy)
@@ -13,6 +13,9 @@
 	def innerRun is override
 		c = .compiler
 		
+		if c.mainMethodTypeName == 'noCobraSources'
+			c.mainMethodTypeName = ''
+			return
 		if .options.getDefault('target', '') to String in {'lib', 'module'}, return
 		if .options.getDefault('test', '') <> '', return
 		if c.mainMethodTypeName <> '', return
@@ -21,7 +24,8 @@
 		typeName = .options.getDefault('main', '') to String
 		mainList = MainCollector().collect(c, typeName)
 		if mainList.count == 0
-			.recordError('Cannot find a "main" method.')
+			detail = if(typeName.length, 'in [typeName]','')
+			.recordError('Cannot find a "main" method [detail].')
 			return
 		if mainList.count > 1
 			first = true
Index: Source/Compiler.cobra
===================================================================
--- Source/Compiler.cobra	(revision 2284)
+++ Source/Compiler.cobra	(working copy)
@@ -465,6 +465,11 @@
 			p.startInfo.arguments = args
 		return p
 
+	def noCobraSources
+		""" Do special processing for no Cobra Sources. """
+		# force any specified main method class to short circuit cobra source scanning
+		.mainMethodTypeName  = .options.getDefault('main', 'noCobraSources')
+			
 	##
 	## ITypeProvider
 	##
Index: Tests/700-command-line/hello-cobra.cs
===================================================================
--- Tests/700-command-line/hello-cobra.cs	(revision 0)
+++ Tests/700-command-line/hello-cobra.cs	(revision 0)
@@ -0,0 +1,9 @@
+// compiled by 880-compile-cs.cobra
+using System;
+
+class Hello:  Object
+{
+        public static void Main() {
+                System.Console.WriteLine("Hello - csharp compiled by cobra");
+                }
+}
Index: Tests/700-command-line/880-compile-cs.cobra
===================================================================
--- Tests/700-command-line/880-compile-cs.cobra	(revision 0)
+++ Tests/700-command-line/880-compile-cs.cobra	(revision 0)
@@ -0,0 +1,24 @@
+use System.Diagnostics
+
+class TestCS
+
+	def main is shared
+		TestCS().run
+
+	def run
+
+		bar = '-------------------------------------------------------------------'
+		output = .runCobraExe('hello-cobra.cs')
+		try
+			assert 'Hello' in output
+			assert 'csharp' in output
+			assert 'csharp compiled by cobra' in output
+		finally
+			print bar
+			print output
+			print bar
+
+
+	def runCobraExe(args as String) as String
+		p as System.Diagnostics.Process?
+		return CobraCore.runCobraExe(args, out p)
Index: Developer/IntermediateReleaseNotes.text
===================================================================
--- Developer/IntermediateReleaseNotes.text	(revision 2284)
+++ Developer/IntermediateReleaseNotes.text	(working copy)
@@ -431,3 +431,5 @@
 * Fixed: An uncaught exception can occur for some library calls.
 
 * Fixed: Cannot instantiate generic params under some circumstances.
+
+* Fixed: Unable compile csharp only sources: ticket:194

