⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.build

📁 全功能c#编译器
💻 BUILD
字号:
<?xml version="1.0"?>

<project name="SharpDevelop - Main" default="build" basedir=".">
	<!-- Check Authors + ChangeLog XML for errors -->
	<target name="build">

	<script language="C#">
		<code><![CDATA[
	static string revisionNumber = "0";
	static Regex REVISION_NUMBER = new Regex(@"\$RevisionNumber\$");
	
	static void Substitute(string templateFileName, string resultFileName)
	{
		StreamReader template = new StreamReader(templateFileName);
		using (template) {
			StreamWriter result = new StreamWriter(resultFileName);
			using (result) {
				string line;
				while ((line = template.ReadLine()) != null) {
					result.WriteLine(ProcessLine(line));
				}
			}
		}
	}
	
	static string ProcessLine(string s)
	{
		return REVISION_NUMBER.Replace(s, revisionNumber);
	}

	static string ReadRevisionFromFile()
	{
		try {
			StreamReader reader = new StreamReader(@"..\..\..\REVISION");
			using (reader) {
				return reader.ReadLine();
			}
		}
		catch (Exception e) {
			Console.WriteLine(e.Message);
			throw new Exception("Cannot read revision number from file: " + e.Message);
		}
	}
	
public static void ScriptMain(Project project) 
{
	try {
		System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("svn", "info");
		psi.UseShellExecute = false;
		psi.RedirectStandardOutput = true;
	
		try {
			System.Diagnostics.Process process = System.Diagnostics.Process.Start(psi);
			process.WaitForExit();
			string output = process.StandardOutput.ReadToEnd();
		
			Regex r = new Regex(@"Revision:\s+(\d+)");
			Match m = r.Match(output);
			if (m != null && m.Success && m.Groups[1] != null) {
				revisionNumber = m.Groups[1].Value;
			} 
			if (revisionNumber == null || revisionNumber.Equals("") || revisionNumber.Equals("0")) {
				throw new Exception("Could not find revision number in svn output");
			}
		}
		catch (Exception e) {
			Console.WriteLine(e.Message);
			revisionNumber = ReadRevisionFromFile();
		}
			
	} catch {}
	Substitute("StartUp/AssemblyInfo.tmpl", "StartUp/AssemblyInfo.cs");
}
]]></code>
	</script>

		<echo message = "Building SharpDevelop Core"/>
		<csc 
			target = "library" 
			output = "${bindir}/ICSharpCode.Core.dll" 
			optimize="${optimize}"
			debug  = "${debug}">
			
			<sources basedir = "Core">
				<includes name = "**/*.cs"/>
			</sources>
			
			<resources basedir = "${resourcesdir}">
				<includes name = "AddIn.xsd"/>
			</resources>
		</csc>
		
		<echo message = "Building SharpDevelop Base"/>
		<csc 
			target = "library" 
			output = "${bindir}/SharpDevelop.Base.dll" 
			optimize="${optimize}"
			debug  = "${debug}">
			
			<sources basedir = "Base">
				<includes name = "**/*.cs"/>
			</sources>

			<resources basedir="${resourcesdir}">
				<includes name = "MdiLayoutConfig3.xml"/>
			</resources>
			<references basedir="${bindir}">
				<!-- 3rd party assemblies -->
				<includes name = "Interop.SHDocVw.dll"/>
				<includes name = "WeifenLuo.WinFormsUI.dll"/>
				<includes name = "CommandBar.dll"/>

				<!-- #Develop libraries -->
				<includes name = "ICSharpCode.SharpZipLib.dll"/>
				<includes name = "ICSharpCode.SharpUnit.dll"/>
				<includes name = "ICSharpCode.SharpAssembly.dll"/>
				<includes name = "ICSharpCode.SharpRefactory.dll"/>
				<includes name = "ICSharpCode.SharpRefactoryVB.dll"/>
				<includes name = "ICSharpCode.XmlForms.dll"/>
				<!--				<includes name = "ICSharpCode.Debugger.dll"/> -->

				<!-- #Develop parts -->
				<includes name = "ICSharpCode.Core.dll"/>
			</references>
		</csc>

		<echo message = "Building SharpDevelop Startup Executable"/>
		<csc 
			target    = "${startuptarget}" 
			output    = "${bindir}/SharpDevelop.exe" 
			win32icon = "${resourcesdir}/SharpDevelop.ico"
			optimize  ="${optimize}"
			debug     = "${debug}">
			
			<sources basedir="StartUp">
				<includes name="**/*.cs"/>
			</sources>
			
			<resources basedir="${resourcesdir}">
				<includes name="BitmapResources.resources"/>
				<includes name="StringResources.resources"/>
				<includes name="SplashScreen.png"/>
			</resources>
			
			<references basedir="${bindir}">
				<includes name="ICSharpCode.Core.dll"/>
				<includes name="SharpDevelop.Base.dll"/>
			</references>
		</csc>
		<copy todir = "${bindir}">
			<fileset basedir = "StartUp">
				<includes name = "SharpDevelop.exe.manifest"/>
			</fileset>
		</copy>
	</target>
	
	<target name = "clean">
	    <delete verbose = "true" >
			<fileset basedir = "${bindir}">
				<includes name = "ICSharpCode.Core.dll"/>
				<includes name = "SharpDevelop.Base.dll"/>
				<includes name = "SharpDevelop.exe"/>
				<includes name = "SharpDevelop.exe.manifest"/>
				
				<!-- debug info -->
				<includes name = "ICSharpCode.Core.pdb"/>
				<includes name = "SharpDevelop.Base.pdb"/>
				<includes name = "SharpDevelop.pdb"/>
			</fileset>
		</delete>
		<delete verbose="true">
			<fileset basedir="./StartUp">
				<includes name = "AssemblyInfo.cs"/>
			</fileset>
		</delete>
	</target>
</project>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -