📄 main.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 + -