Commit 7f3b834c authored by 吴春's avatar 吴春

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents 6c6d256d 26f3c19d
This diff is collapsed.
...@@ -5,13 +5,13 @@ ...@@ -5,13 +5,13 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Aspose.Words" Version="21.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" /> <PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="3.1.8" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="3.1.8" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.8" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.8" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NPOI" Version="2.5.1" /> <PackageReference Include="NPOI" Version="2.5.1" />
<PackageReference Include="Spire.Doc" Version="8.12.14" />
</ItemGroup> </ItemGroup>
</Project> </Project>
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace Edu.Common.Plugin
{
/// <summary>
/// AsposeWord帮助类
/// </summary>
public class AsposeWordHelper
{
/// <summary>
/// 获取Word内容
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
public static List<string> GetWordData(string fileName)
{
Aspose.Words.Document doc = new Aspose.Words.Document(fileName);
List<string> list =new List<string>();
if (doc.FirstSection.Body.Paragraphs.Count > 0)
{
//word中的所有段落
foreach (var item in doc.FirstSection.Body.Paragraphs)
{
string text = Regex.Replace(item.GetText(), "\r", "");
text = text.Replace("\f", "");
text = text.Replace("Evaluation Only. Created with Aspose.Words. Copyright 2003-2021 Aspose Pty Ltd.", "");
if (!string.IsNullOrEmpty(text))
{
list.Add(text);
}
}
}
return list;
}
}
}
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
...@@ -213,6 +215,21 @@ namespace Edu.Common ...@@ -213,6 +215,21 @@ namespace Edu.Common
} }
return ""; return "";
} }
}
/// <summary>
/// 根据文件路径转base64
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static string ConvertImageToBase64(string filePath)
{
Image file = Image.FromFile(filePath);
using (MemoryStream memoryStream = new MemoryStream())
{
file.Save(memoryStream, file.RawFormat);
byte[] imageBytes = memoryStream.ToArray();
return Convert.ToBase64String(imageBytes);
}
}
}
} }
\ No newline at end of file
...@@ -1403,5 +1403,15 @@ namespace Edu.Common.Plugin ...@@ -1403,5 +1403,15 @@ namespace Edu.Common.Plugin
} }
return sb.ToString(); return sb.ToString();
} }
/// <summary>
/// 判断是不是英文大写字母
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsUpperLetter(string str)
{
return System.Text.RegularExpressions.Regex.IsMatch(str, @"^[A-Z]+$");
}
} }
} }
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
namespace Edu.Common.Plugin
{
/// <summary>
/// Word帮助类
/// </summary>
public class WordHelper
{
/// <summary>
/// Spire.Doc解析Word
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static List<string> GetWordData(string filePath)
{
List<string> list = new List<string>();
Spire.Doc.Document document = new Spire.Doc.Document();
document.LoadFromFile(filePath);
document.SaveToFile("toDoc.html", FileFormat.Html);
foreach (Section section in document.Sections)
{
foreach (Paragraph paragraph in section.Paragraphs)
{
string para = paragraph.Text;
foreach (DocumentObject docObject in paragraph.ChildObjects)
{
var pic = docObject as DocPicture;
if (pic != null)
{
string imageName = string.Format(@"Image-{0}.png", DateTime.Now.Ticks);
using (MemoryStream ms = new MemoryStream(pic.ImageBytes))
{
Image outputImg = Image.FromStream(ms);
outputImg.Save(@"D:\" + imageName, System.Drawing.Imaging.ImageFormat.Png);
}
}
}
}
}
string str = document.GetText();
str = str.Replace("Evaluation Warning: The document was created with Spire.Doc for .NET.", "");
//“\r\n”开始+“1234567890”出现1次到多次+“、”结尾
string pattern = @"\r\n[1234567890]*、";
var tempArray = Regex.Split(str, pattern);
if (tempArray != null && tempArray.Length > 0)
{
foreach (var item in tempArray)
{
if (!string.IsNullOrEmpty(item))
{
list.Add(item);
}
}
}
return list;
}
}
}
using Edu.Common; using Edu.Common;
using Edu.Common.Plugin;
using System.Collections.Generic; using System.Collections.Generic;
namespace Edu.Model.ViewModel.Question namespace Edu.Model.ViewModel.Question
...@@ -64,5 +65,9 @@ namespace Edu.Model.ViewModel.Question ...@@ -64,5 +65,9 @@ namespace Edu.Model.ViewModel.Question
/// </summary> /// </summary>
public string PointName { get; set; } public string PointName { get; set; }
/// <summary>
/// 难易程度
/// </summary>
public string DifficultyTypeStr { get { return this.DifficultyType.ToName(); } }
} }
} }
\ No newline at end of file
...@@ -15,25 +15,6 @@ ...@@ -15,25 +15,6 @@
"Edu.Model.dll": {} "Edu.Model.dll": {}
} }
}, },
"Aspose.Words/21.1.0": {
"dependencies": {
"Microsoft.Win32.Registry": "4.7.0",
"SkiaSharp": "2.80.1",
"System.Reflection.Emit": "4.3.0",
"System.Reflection.Emit.ILGeneration": "4.3.0",
"System.Text.Encoding.CodePages": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/Aspose.Words.Pdf2Word.dll": {
"assemblyVersion": "21.1.0.0",
"fileVersion": "21.1.0.0"
},
"lib/netstandard2.0/Aspose.Words.dll": {
"assemblyVersion": "21.1.0.0",
"fileVersion": "21.1.0.0"
}
}
},
"BouncyCastle.NetCore/1.8.3": { "BouncyCastle.NetCore/1.8.3": {
"dependencies": { "dependencies": {
"NETStandard.Library": "1.6.1", "NETStandard.Library": "1.6.1",
...@@ -909,14 +890,11 @@ ...@@ -909,14 +890,11 @@
} }
} }
}, },
"SkiaSharp/2.80.1": { "SkiaSharp/1.68.0": {
"dependencies": {
"System.Memory": "4.5.3"
},
"runtime": { "runtime": {
"lib/netstandard2.0/SkiaSharp.dll": { "lib/netstandard1.3/SkiaSharp.dll": {
"assemblyVersion": "2.80.0.0", "assemblyVersion": "1.68.0.0",
"fileVersion": "2.80.1.0" "fileVersion": "1.68.0.0"
} }
}, },
"runtimeTargets": { "runtimeTargets": {
...@@ -925,8 +903,13 @@ ...@@ -925,8 +903,13 @@
"assetType": "native", "assetType": "native",
"fileVersion": "0.0.0.0" "fileVersion": "0.0.0.0"
}, },
"runtimes/win-arm64/native/libSkiaSharp.dll": { "runtimes/tizen-armel/native/libSkiaSharp.so": {
"rid": "win-arm64", "rid": "tizen-armel",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/tizen-x86/native/libSkiaSharp.so": {
"rid": "tizen-x86",
"assetType": "native", "assetType": "native",
"fileVersion": "0.0.0.0" "fileVersion": "0.0.0.0"
}, },
...@@ -942,6 +925,27 @@ ...@@ -942,6 +925,27 @@
} }
} }
}, },
"Spire.Doc/8.12.14": {
"dependencies": {
"SkiaSharp": "1.68.0",
"System.Security.Cryptography.Xml": "4.5.0",
"System.Text.Encoding.CodePages": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/Spire.Doc.dll": {
"assemblyVersion": "8.12.14.0",
"fileVersion": "8.12.14.4420"
},
"lib/netstandard2.0/Spire.License.dll": {
"assemblyVersion": "1.3.8.320",
"fileVersion": "1.3.8.320"
},
"lib/netstandard2.0/Spire.Pdf.dll": {
"assemblyVersion": "6.12.20.0",
"fileVersion": "6.12.20.2420"
}
}
},
"SSH.NET/2016.1.0": { "SSH.NET/2016.1.0": {
"dependencies": { "dependencies": {
"Microsoft.CSharp": "4.5.0", "Microsoft.CSharp": "4.5.0",
...@@ -1593,21 +1597,7 @@ ...@@ -1593,21 +1597,7 @@
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
} }
}, },
"System.Security.Cryptography.Cng/4.3.0": { "System.Security.Cryptography.Cng/4.5.0": {},
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0",
"System.IO": "4.3.0",
"System.Resources.ResourceManager": "4.3.0",
"System.Runtime": "4.3.0",
"System.Runtime.Extensions": "4.3.0",
"System.Runtime.Handles": "4.3.0",
"System.Runtime.InteropServices": "4.3.0",
"System.Security.Cryptography.Algorithms": "4.3.0",
"System.Security.Cryptography.Encoding": "4.3.0",
"System.Security.Cryptography.Primitives": "4.3.0",
"System.Text.Encoding": "4.3.0"
}
},
"System.Security.Cryptography.Csp/4.3.0": { "System.Security.Cryptography.Csp/4.3.0": {
"dependencies": { "dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0", "Microsoft.NETCore.Platforms": "3.1.0",
...@@ -1658,6 +1648,25 @@ ...@@ -1658,6 +1648,25 @@
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
} }
}, },
"System.Security.Cryptography.Pkcs/4.5.0": {
"dependencies": {
"System.Security.Cryptography.Cng": "4.5.0"
},
"runtime": {
"lib/netcoreapp2.1/System.Security.Cryptography.Pkcs.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.6.26515.6"
}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Pkcs.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Security.Cryptography.Primitives/4.3.0": { "System.Security.Cryptography.Primitives/4.3.0": {
"dependencies": { "dependencies": {
"System.Diagnostics.Debug": "4.3.0", "System.Diagnostics.Debug": "4.3.0",
...@@ -1702,7 +1711,7 @@ ...@@ -1702,7 +1711,7 @@
"System.Runtime.InteropServices": "4.3.0", "System.Runtime.InteropServices": "4.3.0",
"System.Runtime.Numerics": "4.3.0", "System.Runtime.Numerics": "4.3.0",
"System.Security.Cryptography.Algorithms": "4.3.0", "System.Security.Cryptography.Algorithms": "4.3.0",
"System.Security.Cryptography.Cng": "4.3.0", "System.Security.Cryptography.Cng": "4.5.0",
"System.Security.Cryptography.Csp": "4.3.0", "System.Security.Cryptography.Csp": "4.3.0",
"System.Security.Cryptography.Encoding": "4.3.0", "System.Security.Cryptography.Encoding": "4.3.0",
"System.Security.Cryptography.OpenSsl": "4.3.0", "System.Security.Cryptography.OpenSsl": "4.3.0",
...@@ -1714,6 +1723,18 @@ ...@@ -1714,6 +1723,18 @@
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
} }
}, },
"System.Security.Cryptography.Xml/4.5.0": {
"dependencies": {
"System.Security.Cryptography.Pkcs": "4.5.0",
"System.Security.Permissions": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/System.Security.Cryptography.Xml.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Security.Permissions/4.7.0": { "System.Security.Permissions/4.7.0": {
"dependencies": { "dependencies": {
"System.Security.AccessControl": "4.7.0", "System.Security.AccessControl": "4.7.0",
...@@ -1969,13 +1990,13 @@ ...@@ -1969,13 +1990,13 @@
}, },
"Edu.Common/1.0.0": { "Edu.Common/1.0.0": {
"dependencies": { "dependencies": {
"Aspose.Words": "21.1.0",
"Microsoft.AspNetCore.Http": "2.2.2", "Microsoft.AspNetCore.Http": "2.2.2",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0",
"Microsoft.Extensions.Configuration": "3.1.8", "Microsoft.Extensions.Configuration": "3.1.8",
"Microsoft.Extensions.Configuration.Json": "3.1.8", "Microsoft.Extensions.Configuration.Json": "3.1.8",
"NPOI": "2.5.1", "NPOI": "2.5.1",
"Newtonsoft.Json": "12.0.3" "Newtonsoft.Json": "12.0.3",
"Spire.Doc": "8.12.14"
}, },
"runtime": { "runtime": {
"Edu.Common.dll": {} "Edu.Common.dll": {}
...@@ -1989,13 +2010,6 @@ ...@@ -1989,13 +2010,6 @@
"serviceable": false, "serviceable": false,
"sha512": "" "sha512": ""
}, },
"Aspose.Words/21.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BM2BJz3b8uvN6KzVNSwwrtt0SXQcmzRZ0Cbq6lLOgzCS1fCpS3ieQt2TfeEw3OtvZpNVEWLuJGo1YqQJpMh9Dw==",
"path": "aspose.words/21.1.0",
"hashPath": "aspose.words.21.1.0.nupkg.sha512"
},
"BouncyCastle.NetCore/1.8.3": { "BouncyCastle.NetCore/1.8.3": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
...@@ -2563,12 +2577,19 @@ ...@@ -2563,12 +2577,19 @@
"path": "sharpziplib/1.2.0", "path": "sharpziplib/1.2.0",
"hashPath": "sharpziplib.1.2.0.nupkg.sha512" "hashPath": "sharpziplib.1.2.0.nupkg.sha512"
}, },
"SkiaSharp/2.80.1": { "SkiaSharp/1.68.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
"sha512": "sha512-CiQwnDzG+1JNGzjAN9G/9n/lJgUVA/NPOFgSlEtu6c7qQ0O7P1tMjrXp/+PtWfX0xyyY9ABsFAZK2kW34U7r/A==", "sha512": "sha512-ptuxAKk9FiClNnAgWM8hVMCYw/B0hUJWZ8W6efnIAtJmJn/Xl4jvxxDF5WOqfQYCLVzxXw5gvBPVxvTLblFp0g==",
"path": "skiasharp/2.80.1", "path": "skiasharp/1.68.0",
"hashPath": "skiasharp.2.80.1.nupkg.sha512" "hashPath": "skiasharp.1.68.0.nupkg.sha512"
},
"Spire.Doc/8.12.14": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ZHJVAjEcPNvUbEIe+46zXlYG7J7T1Pua7jpsuH3yMllqD1xysMdVhR9hAywkGYnaHodv0gjIP33SiD4Kgh7ykQ==",
"path": "spire.doc/8.12.14",
"hashPath": "spire.doc.8.12.14.nupkg.sha512"
}, },
"SSH.NET/2016.1.0": { "SSH.NET/2016.1.0": {
"type": "package", "type": "package",
...@@ -2976,12 +2997,12 @@ ...@@ -2976,12 +2997,12 @@
"path": "system.security.cryptography.algorithms/4.3.0", "path": "system.security.cryptography.algorithms/4.3.0",
"hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512"
}, },
"System.Security.Cryptography.Cng/4.3.0": { "System.Security.Cryptography.Cng/4.5.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
"sha512": "sha512-eew12RoETmll8EN7kEzW7y9jZVbhD/JC5LASxkjrfPesTNQnZMZeeGwV+EY+VqKf2s15IcdI/MUiaN5b+IDueA==", "sha512": "sha512-WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==",
"path": "system.security.cryptography.cng/4.3.0", "path": "system.security.cryptography.cng/4.5.0",
"hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" "hashPath": "system.security.cryptography.cng.4.5.0.nupkg.sha512"
}, },
"System.Security.Cryptography.Csp/4.3.0": { "System.Security.Cryptography.Csp/4.3.0": {
"type": "package", "type": "package",
...@@ -3004,6 +3025,13 @@ ...@@ -3004,6 +3025,13 @@
"path": "system.security.cryptography.openssl/4.3.0", "path": "system.security.cryptography.openssl/4.3.0",
"hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512"
}, },
"System.Security.Cryptography.Pkcs/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-TGQX51gxpY3K3I6LJlE2LAftVlIMqJf0cBGhz68Y89jjk3LJCB6SrwiD+YN1fkqemBvWGs+GjyMJukl6d6goyQ==",
"path": "system.security.cryptography.pkcs/4.5.0",
"hashPath": "system.security.cryptography.pkcs.4.5.0.nupkg.sha512"
},
"System.Security.Cryptography.Primitives/4.3.0": { "System.Security.Cryptography.Primitives/4.3.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
...@@ -3025,6 +3053,13 @@ ...@@ -3025,6 +3053,13 @@
"path": "system.security.cryptography.x509certificates/4.3.0", "path": "system.security.cryptography.x509certificates/4.3.0",
"hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512"
}, },
"System.Security.Cryptography.Xml/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-i2Jn6rGXR63J0zIklImGRkDIJL4b1NfPSEbIVHBlqoIb12lfXIigCbDRpDmIEzwSo/v1U5y/rYJdzZYSyCWxvg==",
"path": "system.security.cryptography.xml/4.5.0",
"hashPath": "system.security.cryptography.xml.4.5.0.nupkg.sha512"
},
"System.Security.Permissions/4.7.0": { "System.Security.Permissions/4.7.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
......
...@@ -103,6 +103,16 @@ namespace Edu.Module.Question ...@@ -103,6 +103,16 @@ namespace Edu.Module.Question
return flag; return flag;
} }
/// <summary>
/// 批量添加问题
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public virtual bool SetQuestionBatchModule(List<RB_Question_ViewModel> list)
{
return questionRepository.InsertBatch(list);
}
/// <summary> /// <summary>
/// 删除问题 /// 删除问题
/// </summary> /// </summary>
...@@ -153,7 +163,7 @@ namespace Edu.Module.Question ...@@ -153,7 +163,7 @@ namespace Edu.Module.Question
if (extModel != null) if (extModel != null)
{ {
extModel.QuestionContentObj = analysisQuestion.ParsingQuestion(extModel.QuestionTypeKey, extModel.QuestionContent); extModel.QuestionContentObj = ParsingQuestionModule(extModel.QuestionTypeKey, extModel.QuestionContent);
if (!string.IsNullOrEmpty(extModel.Knowledge)) if (!string.IsNullOrEmpty(extModel.Knowledge))
{ {
extModel.QuestionPointList = GetPointListModule(new RB_Question_Point_ViewModel() { QPointIds = extModel.Knowledge }); extModel.QuestionPointList = GetPointListModule(new RB_Question_Point_ViewModel() { QPointIds = extModel.Knowledge });
...@@ -162,6 +172,16 @@ namespace Edu.Module.Question ...@@ -162,6 +172,16 @@ namespace Edu.Module.Question
return extModel; return extModel;
} }
/// <summary>
/// 获取问题选项相关信息
/// </summary>
/// <param name="questionKey"></param>
/// <param name="questionContent"></param>
/// <returns></returns>
public object ParsingQuestionModule(string questionKey,string questionContent)
{
return analysisQuestion.ParsingQuestion(questionKey, questionContent);
}
/// <summary> /// <summary>
......
...@@ -242,10 +242,10 @@ WHERE 1=1 ...@@ -242,10 +242,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id), query.Group_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id), query.Group_Id);
} }
if (query.School_Id > 0) //if (query.School_Id > 0)
{ //{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.School_Id), query.School_Id); // builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.School_Id), query.School_Id);
} //}
if (query.ClassId > 0) if (query.ClassId > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassId), query.ClassId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassId), query.ClassId);
......
...@@ -16,25 +16,6 @@ ...@@ -16,25 +16,6 @@
"Edu.Repository.dll": {} "Edu.Repository.dll": {}
} }
}, },
"Aspose.Words/21.1.0": {
"dependencies": {
"Microsoft.Win32.Registry": "4.7.0",
"SkiaSharp": "2.80.1",
"System.Reflection.Emit": "4.3.0",
"System.Reflection.Emit.ILGeneration": "4.3.0",
"System.Text.Encoding.CodePages": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/Aspose.Words.Pdf2Word.dll": {
"assemblyVersion": "21.1.0.0",
"fileVersion": "21.1.0.0"
},
"lib/netstandard2.0/Aspose.Words.dll": {
"assemblyVersion": "21.1.0.0",
"fileVersion": "21.1.0.0"
}
}
},
"BouncyCastle.NetCore/1.8.3": { "BouncyCastle.NetCore/1.8.3": {
"dependencies": { "dependencies": {
"NETStandard.Library": "1.6.1", "NETStandard.Library": "1.6.1",
...@@ -910,14 +891,11 @@ ...@@ -910,14 +891,11 @@
} }
} }
}, },
"SkiaSharp/2.80.1": { "SkiaSharp/1.68.0": {
"dependencies": {
"System.Memory": "4.5.3"
},
"runtime": { "runtime": {
"lib/netstandard2.0/SkiaSharp.dll": { "lib/netstandard1.3/SkiaSharp.dll": {
"assemblyVersion": "2.80.0.0", "assemblyVersion": "1.68.0.0",
"fileVersion": "2.80.1.0" "fileVersion": "1.68.0.0"
} }
}, },
"runtimeTargets": { "runtimeTargets": {
...@@ -926,8 +904,13 @@ ...@@ -926,8 +904,13 @@
"assetType": "native", "assetType": "native",
"fileVersion": "0.0.0.0" "fileVersion": "0.0.0.0"
}, },
"runtimes/win-arm64/native/libSkiaSharp.dll": { "runtimes/tizen-armel/native/libSkiaSharp.so": {
"rid": "win-arm64", "rid": "tizen-armel",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/tizen-x86/native/libSkiaSharp.so": {
"rid": "tizen-x86",
"assetType": "native", "assetType": "native",
"fileVersion": "0.0.0.0" "fileVersion": "0.0.0.0"
}, },
...@@ -943,6 +926,27 @@ ...@@ -943,6 +926,27 @@
} }
} }
}, },
"Spire.Doc/8.12.14": {
"dependencies": {
"SkiaSharp": "1.68.0",
"System.Security.Cryptography.Xml": "4.5.0",
"System.Text.Encoding.CodePages": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/Spire.Doc.dll": {
"assemblyVersion": "8.12.14.0",
"fileVersion": "8.12.14.4420"
},
"lib/netstandard2.0/Spire.License.dll": {
"assemblyVersion": "1.3.8.320",
"fileVersion": "1.3.8.320"
},
"lib/netstandard2.0/Spire.Pdf.dll": {
"assemblyVersion": "6.12.20.0",
"fileVersion": "6.12.20.2420"
}
}
},
"SSH.NET/2016.1.0": { "SSH.NET/2016.1.0": {
"dependencies": { "dependencies": {
"Microsoft.CSharp": "4.5.0", "Microsoft.CSharp": "4.5.0",
...@@ -1594,21 +1598,7 @@ ...@@ -1594,21 +1598,7 @@
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
} }
}, },
"System.Security.Cryptography.Cng/4.3.0": { "System.Security.Cryptography.Cng/4.5.0": {},
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0",
"System.IO": "4.3.0",
"System.Resources.ResourceManager": "4.3.0",
"System.Runtime": "4.3.0",
"System.Runtime.Extensions": "4.3.0",
"System.Runtime.Handles": "4.3.0",
"System.Runtime.InteropServices": "4.3.0",
"System.Security.Cryptography.Algorithms": "4.3.0",
"System.Security.Cryptography.Encoding": "4.3.0",
"System.Security.Cryptography.Primitives": "4.3.0",
"System.Text.Encoding": "4.3.0"
}
},
"System.Security.Cryptography.Csp/4.3.0": { "System.Security.Cryptography.Csp/4.3.0": {
"dependencies": { "dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0", "Microsoft.NETCore.Platforms": "3.1.0",
...@@ -1659,6 +1649,25 @@ ...@@ -1659,6 +1649,25 @@
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
} }
}, },
"System.Security.Cryptography.Pkcs/4.5.0": {
"dependencies": {
"System.Security.Cryptography.Cng": "4.5.0"
},
"runtime": {
"lib/netcoreapp2.1/System.Security.Cryptography.Pkcs.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.6.26515.6"
}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Pkcs.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Security.Cryptography.Primitives/4.3.0": { "System.Security.Cryptography.Primitives/4.3.0": {
"dependencies": { "dependencies": {
"System.Diagnostics.Debug": "4.3.0", "System.Diagnostics.Debug": "4.3.0",
...@@ -1703,7 +1712,7 @@ ...@@ -1703,7 +1712,7 @@
"System.Runtime.InteropServices": "4.3.0", "System.Runtime.InteropServices": "4.3.0",
"System.Runtime.Numerics": "4.3.0", "System.Runtime.Numerics": "4.3.0",
"System.Security.Cryptography.Algorithms": "4.3.0", "System.Security.Cryptography.Algorithms": "4.3.0",
"System.Security.Cryptography.Cng": "4.3.0", "System.Security.Cryptography.Cng": "4.5.0",
"System.Security.Cryptography.Csp": "4.3.0", "System.Security.Cryptography.Csp": "4.3.0",
"System.Security.Cryptography.Encoding": "4.3.0", "System.Security.Cryptography.Encoding": "4.3.0",
"System.Security.Cryptography.OpenSsl": "4.3.0", "System.Security.Cryptography.OpenSsl": "4.3.0",
...@@ -1715,6 +1724,18 @@ ...@@ -1715,6 +1724,18 @@
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
} }
}, },
"System.Security.Cryptography.Xml/4.5.0": {
"dependencies": {
"System.Security.Cryptography.Pkcs": "4.5.0",
"System.Security.Permissions": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/System.Security.Cryptography.Xml.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Security.Permissions/4.7.0": { "System.Security.Permissions/4.7.0": {
"dependencies": { "dependencies": {
"System.Security.AccessControl": "4.7.0", "System.Security.AccessControl": "4.7.0",
...@@ -1970,13 +1991,13 @@ ...@@ -1970,13 +1991,13 @@
}, },
"Edu.Common/1.0.0": { "Edu.Common/1.0.0": {
"dependencies": { "dependencies": {
"Aspose.Words": "21.1.0",
"Microsoft.AspNetCore.Http": "2.2.2", "Microsoft.AspNetCore.Http": "2.2.2",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0",
"Microsoft.Extensions.Configuration": "3.1.8", "Microsoft.Extensions.Configuration": "3.1.8",
"Microsoft.Extensions.Configuration.Json": "3.1.8", "Microsoft.Extensions.Configuration.Json": "3.1.8",
"NPOI": "2.5.1", "NPOI": "2.5.1",
"Newtonsoft.Json": "12.0.3" "Newtonsoft.Json": "12.0.3",
"Spire.Doc": "8.12.14"
}, },
"runtime": { "runtime": {
"Edu.Common.dll": {} "Edu.Common.dll": {}
...@@ -1999,13 +2020,6 @@ ...@@ -1999,13 +2020,6 @@
"serviceable": false, "serviceable": false,
"sha512": "" "sha512": ""
}, },
"Aspose.Words/21.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BM2BJz3b8uvN6KzVNSwwrtt0SXQcmzRZ0Cbq6lLOgzCS1fCpS3ieQt2TfeEw3OtvZpNVEWLuJGo1YqQJpMh9Dw==",
"path": "aspose.words/21.1.0",
"hashPath": "aspose.words.21.1.0.nupkg.sha512"
},
"BouncyCastle.NetCore/1.8.3": { "BouncyCastle.NetCore/1.8.3": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
...@@ -2573,12 +2587,19 @@ ...@@ -2573,12 +2587,19 @@
"path": "sharpziplib/1.2.0", "path": "sharpziplib/1.2.0",
"hashPath": "sharpziplib.1.2.0.nupkg.sha512" "hashPath": "sharpziplib.1.2.0.nupkg.sha512"
}, },
"SkiaSharp/2.80.1": { "SkiaSharp/1.68.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
"sha512": "sha512-CiQwnDzG+1JNGzjAN9G/9n/lJgUVA/NPOFgSlEtu6c7qQ0O7P1tMjrXp/+PtWfX0xyyY9ABsFAZK2kW34U7r/A==", "sha512": "sha512-ptuxAKk9FiClNnAgWM8hVMCYw/B0hUJWZ8W6efnIAtJmJn/Xl4jvxxDF5WOqfQYCLVzxXw5gvBPVxvTLblFp0g==",
"path": "skiasharp/2.80.1", "path": "skiasharp/1.68.0",
"hashPath": "skiasharp.2.80.1.nupkg.sha512" "hashPath": "skiasharp.1.68.0.nupkg.sha512"
},
"Spire.Doc/8.12.14": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ZHJVAjEcPNvUbEIe+46zXlYG7J7T1Pua7jpsuH3yMllqD1xysMdVhR9hAywkGYnaHodv0gjIP33SiD4Kgh7ykQ==",
"path": "spire.doc/8.12.14",
"hashPath": "spire.doc.8.12.14.nupkg.sha512"
}, },
"SSH.NET/2016.1.0": { "SSH.NET/2016.1.0": {
"type": "package", "type": "package",
...@@ -2986,12 +3007,12 @@ ...@@ -2986,12 +3007,12 @@
"path": "system.security.cryptography.algorithms/4.3.0", "path": "system.security.cryptography.algorithms/4.3.0",
"hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512"
}, },
"System.Security.Cryptography.Cng/4.3.0": { "System.Security.Cryptography.Cng/4.5.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
"sha512": "sha512-eew12RoETmll8EN7kEzW7y9jZVbhD/JC5LASxkjrfPesTNQnZMZeeGwV+EY+VqKf2s15IcdI/MUiaN5b+IDueA==", "sha512": "sha512-WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==",
"path": "system.security.cryptography.cng/4.3.0", "path": "system.security.cryptography.cng/4.5.0",
"hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" "hashPath": "system.security.cryptography.cng.4.5.0.nupkg.sha512"
}, },
"System.Security.Cryptography.Csp/4.3.0": { "System.Security.Cryptography.Csp/4.3.0": {
"type": "package", "type": "package",
...@@ -3014,6 +3035,13 @@ ...@@ -3014,6 +3035,13 @@
"path": "system.security.cryptography.openssl/4.3.0", "path": "system.security.cryptography.openssl/4.3.0",
"hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512"
}, },
"System.Security.Cryptography.Pkcs/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-TGQX51gxpY3K3I6LJlE2LAftVlIMqJf0cBGhz68Y89jjk3LJCB6SrwiD+YN1fkqemBvWGs+GjyMJukl6d6goyQ==",
"path": "system.security.cryptography.pkcs/4.5.0",
"hashPath": "system.security.cryptography.pkcs.4.5.0.nupkg.sha512"
},
"System.Security.Cryptography.Primitives/4.3.0": { "System.Security.Cryptography.Primitives/4.3.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
...@@ -3035,6 +3063,13 @@ ...@@ -3035,6 +3063,13 @@
"path": "system.security.cryptography.x509certificates/4.3.0", "path": "system.security.cryptography.x509certificates/4.3.0",
"hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512"
}, },
"System.Security.Cryptography.Xml/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-i2Jn6rGXR63J0zIklImGRkDIJL4b1NfPSEbIVHBlqoIb12lfXIigCbDRpDmIEzwSo/v1U5y/rYJdzZYSyCWxvg==",
"path": "system.security.cryptography.xml/4.5.0",
"hashPath": "system.security.cryptography.xml.4.5.0.nupkg.sha512"
},
"System.Security.Permissions/4.7.0": { "System.Security.Permissions/4.7.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Edu.Aop\Edu.Aop.csproj" />
<ProjectReference Include="..\Edu.Cache\Edu.Cache.csproj" />
<ProjectReference Include="..\Edu.Common\Edu.Common.csproj" />
<ProjectReference Include="..\Edu.EducationCore\Edu.EducationCore.csproj" />
<ProjectReference Include="..\Edu.Model\Edu.Model.csproj" />
<ProjectReference Include="..\Edu.Module.Course\Edu.Module.Course.csproj" />
<ProjectReference Include="..\Edu.Module.Finance\Edu.Module.Finance.csproj" />
<ProjectReference Include="..\Edu.Module.Log\Edu.Module.Log.csproj" />
<ProjectReference Include="..\Edu.Module.OKR\Edu.Module.OKR.csproj" />
<ProjectReference Include="..\Edu.Module.Public\Edu.Module.Public.csproj" />
<ProjectReference Include="..\Edu.Module.Question\Edu.Module.Question.csproj" />
<ProjectReference Include="..\Edu.Module.System\Edu.Module.System.csproj" />
<ProjectReference Include="..\Edu.Module.User\Edu.Module.User.csproj" />
<ProjectReference Include="..\Edu.Repository\Edu.Repository.csproj" />
<ProjectReference Include="..\Edu.ThirdCore\Edu.ThirdCore.csproj" />
</ItemGroup>
</Project>
using System;
namespace Edu.Test
{
class Program
{
static void Main(string[] args)
{
//string filePath = @"C:/Users/qiaoyajun/Desktop/Word模板.docx";
//var data = Common.Data.QuestionHelper.GetWordQuestionData(filePath);
//Console.WriteLine(Common.Plugin.JsonHelper.Serialize(data));
}
}
}
...@@ -23,7 +23,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -23,7 +23,7 @@ namespace Edu.WebApi.Controllers.Course
/// <summary> /// <summary>
/// 题库处理类对象 /// 题库处理类对象
/// </summary> /// </summary>
private readonly QuestionModule questionModule = new QuestionModule(); private readonly QuestionModule questionModule = AOP.AOPHelper.CreateAOPObject<QuestionModule>();
#region 题库管理 #region 题库管理
...@@ -157,6 +157,22 @@ namespace Edu.WebApi.Controllers.Course ...@@ -157,6 +157,22 @@ namespace Edu.WebApi.Controllers.Course
return flag ? ApiResult.Success() : ApiResult.Failed(); return flag ? ApiResult.Success() : ApiResult.Failed();
} }
/// <summary>
/// 批量添加修改问题
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetQuestionBeatch()
{
bool flag=false;
var list = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Question_ViewModel>>(RequestParm.Msg.ToString());
if (list != null && list.Count > 0)
{
flag = questionModule.SetQuestionBatchModule(list);
}
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary> /// <summary>
/// 获取课程问题 /// 获取课程问题
/// </summary> /// </summary>
...@@ -294,13 +310,43 @@ namespace Edu.WebApi.Controllers.Course ...@@ -294,13 +310,43 @@ namespace Edu.WebApi.Controllers.Course
model.CreateBy = userInfo.Id; model.CreateBy = userInfo.Id;
model.UpdateBy = userInfo.Id; model.UpdateBy = userInfo.Id;
model.UpdateTime = DateTime.Now; model.UpdateTime = DateTime.Now;
bool flag = questionModule.SetQuestionModule(model);
resultList.Add(model); resultList.Add(model);
} }
} }
System.IO.File.Delete(filePath);
return ApiResult.Success(data:resultList); return ApiResult.Success(data:resultList);
} }
/// <summary>
/// 解析Word
/// </summary>
/// <param name="filePath"></param>
/// <param name="CourseId"></param>
/// <param name="Uid"></param>
/// <returns></returns>
public ApiResult ImportWordQuestion(string filePath, int CourseId, int Uid)
{
var userInfo = base.GetUserInfo(Uid);
var resultList = new List<RB_Question_ViewModel>();
var list = Common.Data.QuestionHelper.GetWordQuestionData(filePath);
if (list != null && list.Count > 0)
{
var questionTypeList = questionModule.GetQuestionTypeListModule(new RB_Question_Type_ViewModel());
foreach (var item in list)
{
var model = GetQuestionModel(item, questionTypeList);
model.CourseId = CourseId;
model.CreateTime = DateTime.Now;
model.CreateBy = userInfo.Id;
model.UpdateBy = userInfo.Id;
model.UpdateTime = DateTime.Now;
resultList.Add(model);
}
}
System.IO.File.Delete(filePath);
return ApiResult.Success(data: resultList);
}
/// <summary> /// <summary>
/// 获取导入数据 /// 获取导入数据
/// </summary> /// </summary>
...@@ -308,7 +354,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -308,7 +354,7 @@ namespace Edu.WebApi.Controllers.Course
/// <param name="difficultyList"></param> /// <param name="difficultyList"></param>
/// <param name="questionTypeList"></param> /// <param name="questionTypeList"></param>
/// <returns></returns> /// <returns></returns>
private RB_Question_ViewModel GetQuestionModel(XlsItem item, List<RB_Question_Type_ViewModel> questionTypeList) private RB_Question_ViewModel GetQuestionModel(ImportModel item, List<RB_Question_Type_ViewModel> questionTypeList)
{ {
var DifficultyType = DifficultyTypeEnum.Easy; var DifficultyType = DifficultyTypeEnum.Easy;
if (item.EasyType == "中") if (item.EasyType == "中")
...@@ -327,6 +373,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -327,6 +373,7 @@ namespace Edu.WebApi.Controllers.Course
AnswerParse = item.AnswerAnalysis, AnswerParse = item.AnswerAnalysis,
QuestionTypeId = questionTypeModel?.QId ?? 0, QuestionTypeId = questionTypeModel?.QId ?? 0,
QuestionTypeKey = questionTypeModel?.Key ?? "", QuestionTypeKey = questionTypeModel?.Key ?? "",
QuestionTypeName= questionTypeModel?.Name??"",
}; };
Int32.TryParse(item.ChooseOptionCount, out int ChooseOptionCount); Int32.TryParse(item.ChooseOptionCount, out int ChooseOptionCount);
switch (item.QuestionTypeName) switch (item.QuestionTypeName)
...@@ -821,22 +868,10 @@ namespace Edu.WebApi.Controllers.Course ...@@ -821,22 +868,10 @@ namespace Edu.WebApi.Controllers.Course
break; break;
} }
model.QuestionContentObj = questionModule.ParsingQuestionModule(model.QuestionTypeKey, model.QuestionContent);
return model; return model;
} }
/// <summary>
/// 解析Word
/// </summary>
/// <param name="filePath"></param>
/// <param name="CourseId"></param>
/// <param name="Uid"></param>
/// <returns></returns>
public ApiResult ImportWordQuestion(string filePath, int CourseId, int Uid)
{
var userInfo = base.GetUserInfo(Uid);
var data = Common.Data.QuestionHelper.GetWordQuestionData(filePath);
return ApiResult.Success();
}
} }
} }
\ No newline at end of file
...@@ -18,11 +18,11 @@ ...@@ -18,11 +18,11 @@
<None Include="..\.editorconfig" Link=".editorconfig" /> <None Include="..\.editorconfig" Link=".editorconfig" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Aspose.Words" Version="21.1.0" />
<PackageReference Include="JWT" Version="5.3.1" /> <PackageReference Include="JWT" Version="5.3.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.0.0" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" /> <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.0.0" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.0.0" />
<PackageReference Include="Spire.Doc" Version="8.12.14" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Edu.Aop\Edu.Aop.csproj" /> <ProjectReference Include="..\Edu.Aop\Edu.Aop.csproj" />
......
...@@ -52,7 +52,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ...@@ -52,7 +52,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.editorconfig = .editorconfig .editorconfig = .editorconfig
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Edu.Module.OKR", "Edu.Module.OKR\Edu.Module.OKR.csproj", "{DA20EF60-D6D6-4EE3-950B-96F231A2F6F2}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Edu.Module.OKR", "Edu.Module.OKR\Edu.Module.OKR.csproj", "{DA20EF60-D6D6-4EE3-950B-96F231A2F6F2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Edu.Test", "Edu.Test\Edu.Test.csproj", "{672E00D8-BF3A-43D0-81DF-A7A70E28DD92}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
...@@ -124,6 +126,10 @@ Global ...@@ -124,6 +126,10 @@ Global
{DA20EF60-D6D6-4EE3-950B-96F231A2F6F2}.Debug|Any CPU.Build.0 = Debug|Any CPU {DA20EF60-D6D6-4EE3-950B-96F231A2F6F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DA20EF60-D6D6-4EE3-950B-96F231A2F6F2}.Release|Any CPU.ActiveCfg = Release|Any CPU {DA20EF60-D6D6-4EE3-950B-96F231A2F6F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DA20EF60-D6D6-4EE3-950B-96F231A2F6F2}.Release|Any CPU.Build.0 = Release|Any CPU {DA20EF60-D6D6-4EE3-950B-96F231A2F6F2}.Release|Any CPU.Build.0 = Release|Any CPU
{672E00D8-BF3A-43D0-81DF-A7A70E28DD92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{672E00D8-BF3A-43D0-81DF-A7A70E28DD92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{672E00D8-BF3A-43D0-81DF-A7A70E28DD92}.Release|Any CPU.ActiveCfg = Release|Any CPU
{672E00D8-BF3A-43D0-81DF-A7A70E28DD92}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment