mirror of https://github.com/bmgjet/Ruyi-GUI.git
Compare commits
4 Commits
5aa6b7b700
...
37363ed989
Author | SHA1 | Date |
---|---|---|
|
37363ed989 | |
|
d3911e4a9b | |
|
2c5f80a0c8 | |
|
b1dfba87a5 |
39
README.md
39
README.md
|
@ -1,40 +1,7 @@
|
|||
# Ruyi-GUI Setup Guide
|
||||
Complete Environment Download at<br>
|
||||
[Ruyi-GUI-V1.0.7z](https://mega.nz/file/GS4hjbrJ#kjpc8buBUnuw11lOTo0HwLKmzKeORvLTEO7dRsmgS5Q)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. **Download and set up a Python environment**
|
||||
The recommended environment is `webui_forge_cu124_torch24.7z`, which you can download from the [Stable Diffusion WebUI Forge GitHub Releases](https://github.com/lllyasviel/stable-diffusion-webui-forge/releases/tag/latest).
|
||||
|
||||
2. **Extract and run Forge**
|
||||
- Extract the contents of the downloaded file.
|
||||
- Run `run.bat` to let Forge automatically download all necessary dependencies.
|
||||
- After setup, your folder structure should look like this:
|
||||
```
|
||||
system/
|
||||
webui/
|
||||
environment.bat
|
||||
run.bat
|
||||
update.bat
|
||||
```
|
||||
|
||||
## Setting Up Ruyi-GUI
|
||||
|
||||
1. **Download Ruyi-GUI**
|
||||
- Navigate to [Ruyi-GUI/bin/Release/](https://github.com/bmgjet/Ruyi-GUI/blob/master/Ruyi-GUI/bin/Release/Ruyi-GUI.exe).
|
||||
- Download the `Ruyi-GUI.exe` file.
|
||||
|
||||
2. **Place Ruyi-GUI.exe in the Forge folder**
|
||||
Copy the downloaded `Ruyi-GUI.exe` into the root of the Forge folder (the same location as `run.bat`).
|
||||
|
||||
3. **Prepare the Ruyi-Models folder**
|
||||
- Create a new folder named `Ruyi-Models` in the Forge folder.
|
||||
- Download the Ruyi Models from [IamCreateAI/Ruyi-Models](https://github.com/IamCreateAI/Ruyi-Models).
|
||||
- Extract the contents of the downloaded archive into the `Ruyi-Models` folder.
|
||||
|
||||
## Running the Application
|
||||
|
||||
1. Double-click `Ruyi-GUI.exe` to start the application.
|
||||
2. Follow the on-screen instructions to load models and begin using the GUI.
|
||||
|
||||
## Screenshot
|
||||
|
||||
|
@ -44,6 +11,4 @@
|
|||
---
|
||||
|
||||
Additional respective GitHub repositories:
|
||||
- [Stable Diffusion WebUI Forge](https://github.com/lllyasviel/stable-diffusion-webui-forge)
|
||||
- [Ruyi-GUI](https://github.com/bmgjet/Ruyi-GUI)
|
||||
- [Ruyi-Models](https://github.com/IamCreateAI/Ruyi-Models)
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
this.timer2 = new System.Windows.Forms.Timer(this.components);
|
||||
this.Batch = new System.Windows.Forms.Button();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.Updates = new System.Windows.Forms.CheckBox();
|
||||
this.Weighttxt = new System.Windows.Forms.TextBox();
|
||||
this.Weightlbl = new System.Windows.Forms.Label();
|
||||
this.LoraButton = new System.Windows.Forms.Button();
|
||||
|
@ -81,7 +82,6 @@
|
|||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.VideoRes = new System.Windows.Forms.ComboBox();
|
||||
this.timer3 = new System.Windows.Forms.Timer(this.components);
|
||||
this.Updates = new System.Windows.Forms.CheckBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
|
||||
this.panel1.SuspendLayout();
|
||||
|
@ -610,6 +610,16 @@
|
|||
this.panel1.Size = new System.Drawing.Size(544, 507);
|
||||
this.panel1.TabIndex = 41;
|
||||
//
|
||||
// Updates
|
||||
//
|
||||
this.Updates.AutoSize = true;
|
||||
this.Updates.Location = new System.Drawing.Point(382, 449);
|
||||
this.Updates.Name = "Updates";
|
||||
this.Updates.Size = new System.Drawing.Size(150, 17);
|
||||
this.Updates.TabIndex = 48;
|
||||
this.Updates.Text = "Check For Model Updates";
|
||||
this.Updates.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Weighttxt
|
||||
//
|
||||
this.Weighttxt.Location = new System.Drawing.Point(330, 422);
|
||||
|
@ -700,21 +710,11 @@
|
|||
this.timer3.Interval = 5000;
|
||||
this.timer3.Tick += new System.EventHandler(this.timer3_Tick);
|
||||
//
|
||||
// Updates
|
||||
//
|
||||
this.Updates.AutoSize = true;
|
||||
this.Updates.Location = new System.Drawing.Point(382, 449);
|
||||
this.Updates.Name = "Updates";
|
||||
this.Updates.Size = new System.Drawing.Size(150, 17);
|
||||
this.Updates.TabIndex = 48;
|
||||
this.Updates.Text = "Check For Model Updates";
|
||||
this.Updates.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(555, 577);
|
||||
this.ClientSize = new System.Drawing.Size(552, 577);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.RunJobs);
|
||||
this.Controls.Add(this.RemoveJob);
|
||||
|
|
|
@ -14,8 +14,11 @@ using System.Drawing;
|
|||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Policy;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
@ -27,6 +30,7 @@ namespace Ruyi_GUI
|
|||
{
|
||||
public static List<string> LogMessages = new List<string>();
|
||||
public string[] PythonCode;
|
||||
public static Process process;
|
||||
public bool DoingJobs = false;
|
||||
public bool Not100 = true;
|
||||
|
||||
|
@ -35,21 +39,32 @@ namespace Ruyi_GUI
|
|||
InitializeComponent();
|
||||
if (File.Exists("Config.cfg")) { LoadSettings(File.ReadAllText("Config.cfg")); }
|
||||
else { SaveSettings(); }
|
||||
if(!File.Exists("environment.bat"))
|
||||
if (!File.Exists("environment.bat"))
|
||||
{
|
||||
MessageBox.Show("environment.bat file missing, Is this exe being ran from Forge Install folder?","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
|
||||
MessageBox.Show("environment.bat file missing, Is this exe being ran from Forge Install folder?", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
if (!Directory.Exists("Ruyi-Models"))
|
||||
if (!Directory.Exists("Ruyi-Models-main") || !File.Exists(Path.Combine("Ruyi-Models-main", "predict_i2v.py")))
|
||||
{
|
||||
MessageBox.Show("Missing Ruyi-Models Folder", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
if (MessageBox.Show("Missing predict_i2v.py! Download from Github Repo?", "Error", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)
|
||||
{
|
||||
using (var client = new WebClient())
|
||||
{
|
||||
client.DownloadFile("https://github.com/IamCreateAI/Ruyi-Models/archive/refs/heads/main.zip", "Ruyi-Models.zip");
|
||||
Thread.Sleep(1000);
|
||||
if (File.Exists("Ruyi-Models.zip"))
|
||||
{
|
||||
ZipFile.ExtractToDirectory("Ruyi-Models.zip", Path.Combine(AssemblyDirectory()));
|
||||
Thread.Sleep(1000);
|
||||
File.Delete("Ruyi-Models.zip");
|
||||
}
|
||||
}
|
||||
}
|
||||
else { return; }
|
||||
}
|
||||
if(!File.Exists(Path.Combine("Ruyi-Models", "predict_i2v.py")))
|
||||
if (File.Exists(Path.Combine("Ruyi-Models-main", "predict_i2v.py")))
|
||||
{
|
||||
MessageBox.Show("Missing predict_i2v.py", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
PythonCode = File.ReadAllLines(Path.Combine("Ruyi-Models-main", "predict_i2v.py"));
|
||||
}
|
||||
PythonCode = File.ReadAllLines(Path.Combine("Ruyi-Models", "predict_i2v.py"));
|
||||
}
|
||||
|
||||
private string SettingsString() { return Img1.Text + "|" + Img2.Text + "|" + VideoOut.Text + "|" + FrameRate.Text + "|" + AspectRatio.Text + "|" + Resolution.Text + "|" + Direction.Text + "|" + Motion.Text + "|" + GPUOffload.Text + "|" + LowMemoryMode.Checked + "|" + Steps.Text + "|" + Cfg.Text + "|" + Seed.Text + "|" + Scheduler.Text + "|" + VideoRes.Text + "|" + Loratxt.Text + "|" + Weighttxt.Text + "|" + Updates.Checked; }
|
||||
|
@ -76,7 +91,7 @@ namespace Ruyi_GUI
|
|||
Seed.Text = SSettings[12];
|
||||
Scheduler.Text = SSettings[13];
|
||||
VideoRes.Text = SSettings[14];
|
||||
Loratxt.Text = SSettings[15];
|
||||
Loratxt.Text = SSettings[15];
|
||||
Weighttxt.Text = SSettings[16];
|
||||
Updates.Checked = bool.Parse(SSettings[17]);
|
||||
}
|
||||
|
@ -185,9 +200,9 @@ namespace Ruyi_GUI
|
|||
string Lora = string.IsNullOrEmpty(Loratxt.Text) ? "None" : @"""" + Loratxt.Text.Replace(@"\", @"\\") + @"""";
|
||||
foreach (string line in PythonCode)
|
||||
{
|
||||
if(line.StartsWith("start_image_path = "))
|
||||
if (line.StartsWith("start_image_path = "))
|
||||
{
|
||||
code += @"start_image_path = """ + Img1.Text.Replace(@"\", @"\\") + @""""+ System.Environment.NewLine;
|
||||
code += @"start_image_path = """ + Img1.Text.Replace(@"\", @"\\") + @"""" + System.Environment.NewLine;
|
||||
continue;
|
||||
}
|
||||
if (line.StartsWith("end_image_path = "))
|
||||
|
@ -212,7 +227,7 @@ namespace Ruyi_GUI
|
|||
}
|
||||
if (line.StartsWith("video_size = "))
|
||||
{
|
||||
code += @"video_size = " + VideoRes.Text.Replace("auto","None") + System.Environment.NewLine;
|
||||
code += @"video_size = " + VideoRes.Text.Replace("auto", "None") + System.Environment.NewLine;
|
||||
continue;
|
||||
}
|
||||
if (line.StartsWith("aspect_ratio = "))
|
||||
|
@ -282,22 +297,22 @@ namespace Ruyi_GUI
|
|||
|
||||
private void ExecuteCommand()
|
||||
{
|
||||
string CallCode = ParsePythonCode();
|
||||
string CallCode = ParsePythonCode();
|
||||
if (string.IsNullOrEmpty(CallCode)) { MessageBox.Show("Bad Python Code", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
|
||||
File.WriteAllText(Path.Combine("Ruyi-Models", "i2v.py"), CallCode);
|
||||
File.WriteAllText(Path.Combine("Ruyi-Models-main", "i2v.py"), CallCode);
|
||||
if (File.Exists(VideoOut.Text)) { File.Move(VideoOut.Text, VideoOut.Text.Replace(".mp4", "-" + GetTimestamp() + ".mp4")); }
|
||||
LogMessages.Add("Starting Generation: ["+FrameRate.Text + "-"+ Resolution.Text +"] " + Path.GetFileName(Img1.Text) + " @ " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
LogMessages.Add("Starting Generation: [" + FrameRate.Text + "-" + Resolution.Text + "] " + Path.GetFileName(Img1.Text) + " @ " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
Task.Run(() =>
|
||||
{
|
||||
GenerateButton.BeginInvoke(new Action(() => { GenerateButton.Enabled = false; }));
|
||||
panel1.BeginInvoke(new Action(() => { panel1.Enabled = false; }));
|
||||
AppendTextBox("Loading AI Please Wait...");
|
||||
var processInfo = new ProcessStartInfo("cmd.exe", "/c call " + Path.Combine(AssemblyDirectory(), "environment.bat") + " && cd " + Path.Combine(AssemblyDirectory(), "Ruyi-Models") + " && python i2v.py %*");
|
||||
var processInfo = new ProcessStartInfo("cmd.exe", "/c call " + Path.Combine(AssemblyDirectory(), "environment.bat") + " && cd " + Path.Combine(AssemblyDirectory(), "Ruyi-Models-main") + " && python i2v.py %*");
|
||||
processInfo.CreateNoWindow = true;
|
||||
processInfo.UseShellExecute = false;
|
||||
processInfo.RedirectStandardError = true;
|
||||
processInfo.RedirectStandardOutput = true;
|
||||
var process = Process.Start(processInfo);
|
||||
process = Process.Start(processInfo);
|
||||
process.OutputDataReceived += (object sender, DataReceivedEventArgs e) => LogFiltered(e.Data);
|
||||
process.BeginOutputReadLine();
|
||||
process.ErrorDataReceived += (object sender, DataReceivedEventArgs e) => LogFiltered(e.Data);
|
||||
|
@ -350,7 +365,29 @@ namespace Ruyi_GUI
|
|||
VideoOut.Text = saveFileDialog1.FileName;
|
||||
}
|
||||
|
||||
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { SaveSettings(); }
|
||||
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
SaveSettings();
|
||||
if (process != null)
|
||||
{
|
||||
try { process.Kill(); } catch { }
|
||||
}
|
||||
Process[] processes = Process.GetProcesses();
|
||||
bool isPythonRunning = processes.Any(p => p.ProcessName.Equals("python", StringComparison.OrdinalIgnoreCase));
|
||||
if (isPythonRunning)
|
||||
{
|
||||
if (MessageBox.Show("python.exe is running. Do you want to close it?", "Error", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)
|
||||
{
|
||||
foreach (var process in processes)
|
||||
{
|
||||
if (process.ProcessName.Equals("python", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
process.Kill();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void PlayVideo_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -387,7 +424,7 @@ namespace Ruyi_GUI
|
|||
if (string.IsNullOrEmpty(Seed.Text)) { MessageBox.Show("Seed Can't Be Null", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; }
|
||||
if (string.IsNullOrEmpty(Scheduler.Text)) { MessageBox.Show("Scheduler Can't Be Null", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; }
|
||||
if (string.IsNullOrEmpty(Weighttxt.Text)) { MessageBox.Show("Lora Weight Can't Be Null", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; }
|
||||
if(!AspectRatio.Text.Contains(":")){ MessageBox.Show("Aspect Ratio Not Valid Format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; }
|
||||
if (!AspectRatio.Text.Contains(":")) { MessageBox.Show("Aspect Ratio Not Valid Format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; }
|
||||
if (!VideoRes.Text.Contains(", ") && !VideoRes.Text.Contains("None") && !VideoRes.Text.Contains("auto")) { MessageBox.Show("Mp4 Resolution Not Valid Format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; }
|
||||
return true;
|
||||
}
|
||||
|
@ -460,7 +497,7 @@ namespace Ruyi_GUI
|
|||
|
||||
private void Batch_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Width == 810) { this.Width = 575; JobList.Items.Clear(); GenerateButton.Enabled = true; }
|
||||
if (this.Width == 810) { this.Width = 572; JobList.Items.Clear(); GenerateButton.Enabled = true; }
|
||||
else
|
||||
{
|
||||
GenerateButton.Enabled = false;
|
||||
|
@ -505,7 +542,7 @@ namespace Ruyi_GUI
|
|||
|
||||
private void VideoRes_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && e.KeyChar != ',' && e.KeyChar != ' ' && e.KeyChar != 'N' && e.KeyChar != 'o' && e.KeyChar != 'n' && e.KeyChar != 'e' && e.KeyChar != 'a' && e.KeyChar != 'u' && e.KeyChar != 't';
|
||||
e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && e.KeyChar != ',' && e.KeyChar != ' ' && e.KeyChar != 'N' && e.KeyChar != 'o' && e.KeyChar != 'n' && e.KeyChar != 'e' && e.KeyChar != 'a' && e.KeyChar != 'u' && e.KeyChar != 't';
|
||||
}
|
||||
|
||||
private void LoraButton_Click(object sender, EventArgs e)
|
||||
|
@ -523,8 +560,18 @@ namespace Ruyi_GUI
|
|||
bool isPythonRunning = processes.Any(p => p.ProcessName.Equals("python", StringComparison.OrdinalIgnoreCase));
|
||||
if (!isPythonRunning)
|
||||
{
|
||||
AppendTextBox("Error");
|
||||
timer3.Enabled = false;
|
||||
MessageBox.Show("python.exe is not running. Maybe it crashed, Please check the log.txt","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
|
||||
MessageBox.Show("python.exe is not running. Maybe it crashed, Please check the log.txt", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
GenerateButton.Enabled = true;
|
||||
panel1.Enabled = true;
|
||||
RunJobs.Enabled = true;
|
||||
JobList.Enabled = true;
|
||||
AddJob.Enabled = true;
|
||||
RemoveJob.Enabled = true;
|
||||
timer2.Enabled = false;
|
||||
DoingJobs = false;
|
||||
timer2.Enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Ruyi_GUI
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Ruyi_GUI
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,91 +1,92 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{69020BE2-E87C-4ECD-8E8F-A1591EC00174}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>Ruyi_GUI</RootNamespace>
|
||||
<AssemblyName>Ruyi-GUI</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>AIIcon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="AIIcon.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{69020BE2-E87C-4ECD-8E8F-A1591EC00174}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>Ruyi_GUI</RootNamespace>
|
||||
<AssemblyName>Ruyi-GUI</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>AIIcon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="AIIcon.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
Binary file not shown.
Loading…
Reference in New Issue