diff --git a/Tests/Cosmos.TestRunner.UnitTest/Cosmos.TestRunner.UnitTest.csproj b/Tests/Cosmos.TestRunner.UnitTest/Cosmos.TestRunner.UnitTest.csproj index 6e18ad518..821fef3ac 100644 --- a/Tests/Cosmos.TestRunner.UnitTest/Cosmos.TestRunner.UnitTest.csproj +++ b/Tests/Cosmos.TestRunner.UnitTest/Cosmos.TestRunner.UnitTest.csproj @@ -1,15 +1,15 @@  - netcoreapp1.0 + netcoreapp1.1 True ..\..\Cosmos.snk - - - + + + diff --git a/appveyor.yml b/appveyor.yml index 6bf664456..64d55cffa 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -25,11 +25,11 @@ build_script: xcopy /Y "%APPVEYOR_BUILD_FOLDER%\Build\VSIP\Cosmos.targets" "%ProgramFiles(x86)%\MSBuild\Cosmos\" - dotnet publish source/Cosmos.Build.MSBuild -f net462 -r win7-x86 -o "c:\CosmosRun\Build\VSIP\" + dotnet publish source/Cosmos.Build.MSBuild -f net462 -r win7-x86 -c Release -o "c:\CosmosRun\Build\VSIP\" - dotnet publish source/IL2CPU -f netcoreapp1.0 -r win7-x86 -o "c:\CosmosRun\Build\IL2CPU\" + dotnet publish source/IL2CPU -f netcoreapp1.0 -r win7-x86 -c Release -o "c:\CosmosRun\Build\IL2CPU\" - dotnet publish source/XSharp.Compiler -f netcoreapp1.0 -r win7-x86 -o "c:\CosmosRun\Build\XSharp\" + dotnet publish source/XSharp.Compiler -f netcoreapp1.0 -r win7-x86 -c Release -o "c:\CosmosRun\Build\XSharp\" xcopy /Y "c:\Cosmos\Build\VSIP\Cosmos.Debug.Kernel.*" "c:\CosmosRun\Kernel\" diff --git a/source/Cosmos.Debug.Hosts/Bochs.cs b/source/Cosmos.Debug.Hosts/Bochs.cs index 1f67b5f98..a5d0adef6 100644 --- a/source/Cosmos.Debug.Hosts/Bochs.cs +++ b/source/Cosmos.Debug.Hosts/Bochs.cs @@ -102,6 +102,7 @@ namespace Cosmos.Debug.Hosts } _bochsStartInfo.Arguments = string.Format("-q {1} -f \"{0}\"", _bochsConfigurationFile.FullName, xExtraLog); _bochsStartInfo.WorkingDirectory = _bochsConfigurationFile.Directory.FullName; + _bochsStartInfo.CreateNoWindow = true; // when ProcessStartInfo.UseShellExecute is supported in .net core, maybe this line isn't needed //_bochsStartInfo.UseShellExecute = true; if (RedirectOutput) { diff --git a/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7Engine.cs b/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7Engine.cs index 3eacf9ed8..8e8bb6bd2 100644 --- a/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7Engine.cs +++ b/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7Engine.cs @@ -25,7 +25,7 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl // IDebugEngineProgram2: This interface provides simultanious debugging of multiple threads in a debuggee. [ComVisible(true)] - [Guid("DC8503AB-7EE6-456C-A209-66C690D9F6F4")] + [Guid(Guids.guidDebugEngineString)] public class AD7Engine : IDebugEngine2, IDebugEngineLaunch2, IDebugProgram3, IDebugEngineProgram2 { internal IDebugProgram2 mProgram; @@ -33,7 +33,7 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl internal AD7Process mProcess; // A unique identifier for the program being debugged. Guid mProgramID; - public const string ID = "FA1DA3A6-66FF-4C65-B077-E65F7164EF83"; + public static readonly Guid EngineID = new Guid("{fa1da3a6-66ff-4c65-b077-e65f7164ef83}"); internal AD7Module mModule; internal AD7Thread mThread; private AD7ProgramNode mProgNode; @@ -256,7 +256,7 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl int IDebugEngine2.GetEngineId(out Guid oGuidEngine) { // Gets the GUID of the DebugEngine. - oGuidEngine = new Guid(ID); + oGuidEngine = EngineID; return VSConstants.S_OK; } @@ -332,7 +332,7 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl // Gets the name and identifier of the debug engine (DE) running this program. engineName = Resources.EngineName; - engineGuid = new Guid(AD7Engine.ID); + engineGuid = EngineID; return VSConstants.S_OK; } diff --git a/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7ProgramNode.cs b/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7ProgramNode.cs index 443ed3c28..d09d2b41a 100644 --- a/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7ProgramNode.cs +++ b/source/Cosmos.VS.DebugEngine/AD7.Impl/AD7ProgramNode.cs @@ -23,7 +23,7 @@ namespace Cosmos.VS.DebugEngine.AD7.Impl int IDebugProgramNode2.GetEngineInfo(out string oEngineName, out Guid oEngineGuid) { oEngineName = Resources.EngineName; - oEngineGuid = new Guid(AD7Engine.ID); + oEngineGuid = AD7Engine.EngineID; return VSConstants.S_OK; } diff --git a/source/Cosmos.VS.DebugEngine/Commands/DebugExecCommand.cs b/source/Cosmos.VS.DebugEngine/Commands/DebugExecCommand.cs index 8ac86dce9..67c195ddd 100644 --- a/source/Cosmos.VS.DebugEngine/Commands/DebugExecCommand.cs +++ b/source/Cosmos.VS.DebugEngine/Commands/DebugExecCommand.cs @@ -29,7 +29,7 @@ namespace Cosmos.VS.DebugEngine.Commands return hr; if (string.IsNullOrWhiteSpace(arguments)) - throw new ArgumentException("Expected an MI command to execute (ex: Debug.MIDebugExec info sharedlibrary)"); + throw new ArgumentException("Expected a Cosmos command to execute (ex: Debug.CosmosDebugExec info sharedlibrary)"); DebugExec(arguments); diff --git a/source/Cosmos.VS.DebugEngine/Commands/DebugLaunchCommand.cs b/source/Cosmos.VS.DebugEngine/Commands/DebugLaunchCommand.cs index 3af620f12..5090a5506 100644 --- a/source/Cosmos.VS.DebugEngine/Commands/DebugLaunchCommand.cs +++ b/source/Cosmos.VS.DebugEngine/Commands/DebugLaunchCommand.cs @@ -47,8 +47,8 @@ namespace Cosmos.VS.DebugEngine.Commands return hr; if (hr == VSConstants.S_OK || parseCommandLine.HasSwitches() != VSConstants.S_OK) { - string message = string.Concat("Unexpected syntax for MIDebugLaunch command. Expected:\n", - "Debug.MIDebugLaunch /Executable: /OptionsFile:"); + string message = string.Concat("Unexpected syntax for CosmosDebugLaunch command. Expected:\n", + "Debug.CosmosDebugLaunch /Executable: /OptionsFile:"); throw new ApplicationException(message); } diff --git a/source/Cosmos.VS.DebugEngine/Commands/DebugLogCommand.cs b/source/Cosmos.VS.DebugEngine/Commands/DebugLogCommand.cs index 1c3266e9c..58bd761cc 100644 --- a/source/Cosmos.VS.DebugEngine/Commands/DebugLogCommand.cs +++ b/source/Cosmos.VS.DebugEngine/Commands/DebugLogCommand.cs @@ -47,8 +47,8 @@ namespace Cosmos.VS.DebugEngine.Commands return hr; if (hr == VSConstants.S_OK || parseCommandLine.HasSwitches() != VSConstants.S_OK) { - string message = string.Concat("Unexpected syntax for MIDebugLaunch command. Expected:\n", - "Debug.MIDebugLog [/On: [/OutputWindow] | /Off]"); + string message = string.Concat("Unexpected syntax for CosmosDebugLaunch command. Expected:\n", + "Debug.CosmosDebugLog [/On: [/OutputWindow] | /Off]"); throw new ApplicationException(message); } diff --git a/source/Cosmos.VS.DebugEngine/Cosmos.VS.DebugEngine.csproj b/source/Cosmos.VS.DebugEngine/Cosmos.VS.DebugEngine.csproj index 2e391923b..5aad5d2a8 100644 --- a/source/Cosmos.VS.DebugEngine/Cosmos.VS.DebugEngine.csproj +++ b/source/Cosmos.VS.DebugEngine/Cosmos.VS.DebugEngine.csproj @@ -26,13 +26,12 @@ v4.6.2 true true - false + true true true - true + false - true full false bin\Debug\ @@ -105,6 +104,15 @@ Designer + + + true + + + Menus.ctmenu + Designer + + False @@ -119,9 +127,6 @@ False - - False - ..\..\packages\Microsoft.VisualStudio.CoreUtility.15.0.26201\lib\net45\Microsoft.VisualStudio.CoreUtility.dll True @@ -292,9 +297,6 @@ VSPackage - - - diff --git a/source/Cosmos.VS.DebugEngine/CosmosDebugEnginePackage.cs b/source/Cosmos.VS.DebugEngine/CosmosDebugEnginePackage.cs index 0d7e1f6db..390ae668c 100644 --- a/source/Cosmos.VS.DebugEngine/CosmosDebugEnginePackage.cs +++ b/source/Cosmos.VS.DebugEngine/CosmosDebugEnginePackage.cs @@ -1,21 +1,15 @@ using System; -using System.Diagnostics; -using System.Globalization; using System.Runtime.InteropServices; -using System.ComponentModel.Design; -using System.IO; -using Cosmos.VS.DebugEngine.Commands; -using Microsoft.Win32; -using Microsoft.VisualStudio; -using Microsoft.VisualStudio.Shell.Interop; using Microsoft.VisualStudio.OLE.Interop; using Microsoft.VisualStudio.Shell; +using Cosmos.VS.DebugEngine.Commands; + namespace Cosmos.VS.DebugEngine { [PackageRegistration(UseManagedResourcesOnly = true)] [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] - //[ProvideMenuResource("Menus.ctmenu", 1)] + [ProvideMenuResource("Menus.ctmenu", 1)] [Guid(Guids.guidPackageString)] public sealed class CosmosDebugEnginePackage : Package, IOleCommandTarget { diff --git a/source/Cosmos.VS.DebugEngine/Resources/Cosmos.ico b/source/Cosmos.VS.DebugEngine/Resources/Cosmos.ico new file mode 100644 index 000000000..fcdc40183 Binary files /dev/null and b/source/Cosmos.VS.DebugEngine/Resources/Cosmos.ico differ diff --git a/source/Cosmos.VS.DebugEngine/Resources/CosmosDebugEnginePackage.ico b/source/Cosmos.VS.DebugEngine/Resources/CosmosDebugEnginePackage.ico deleted file mode 100644 index d323b07fb..000000000 Binary files a/source/Cosmos.VS.DebugEngine/Resources/CosmosDebugEnginePackage.ico and /dev/null differ diff --git a/source/Cosmos.VS.DebugEngine/VSPackage.resx b/source/Cosmos.VS.DebugEngine/VSPackage.resx index 83bd81bca..261b552cf 100644 --- a/source/Cosmos.VS.DebugEngine/VSPackage.resx +++ b/source/Cosmos.VS.DebugEngine/VSPackage.resx @@ -135,6 +135,6 @@ CosmosDebugEnginePackage Visual Studio Extension Detailed Info - Resources\CosmosDebugEnginePackage.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + Resources\Cosmos.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/source/Cosmos.VS.DebugEngine/VSPackage.vsct b/source/Cosmos.VS.DebugEngine/VSPackage.vsct new file mode 100644 index 000000000..9a8809912 --- /dev/null +++ b/source/Cosmos.VS.DebugEngine/VSPackage.vsct @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/Cosmos.VS.DebugEngine/source.extension.vsixmanifest b/source/Cosmos.VS.DebugEngine/source.extension.vsixmanifest index 2496c6511..ccb59cb71 100644 --- a/source/Cosmos.VS.DebugEngine/source.extension.vsixmanifest +++ b/source/Cosmos.VS.DebugEngine/source.extension.vsixmanifest @@ -2,8 +2,9 @@ - Cosmos.VS.DebugEngine + Cosmos Visual Studio Debug Engine Visual Studio Debug Engine for Cosmos + Resources\Cosmos.ico diff --git a/source/Cosmos.VS.ProjectSystem/Cosmos.VS.ProjectSystem.csproj b/source/Cosmos.VS.ProjectSystem/Cosmos.VS.ProjectSystem.csproj index c1e92e1b9..68703cb40 100644 --- a/source/Cosmos.VS.ProjectSystem/Cosmos.VS.ProjectSystem.csproj +++ b/source/Cosmos.VS.ProjectSystem/Cosmos.VS.ProjectSystem.csproj @@ -4,8 +4,6 @@ 15.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - - true diff --git a/source/Cosmos.VS.ProjectSystem/CosmosProjectConfig.cs b/source/Cosmos.VS.ProjectSystem/CosmosProjectConfig.cs index fd2a5596f..e09049ac0 100644 --- a/source/Cosmos.VS.ProjectSystem/CosmosProjectConfig.cs +++ b/source/Cosmos.VS.ProjectSystem/CosmosProjectConfig.cs @@ -4,13 +4,14 @@ using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.InteropServices; -using Cosmos.Build.Common; -using Cosmos.Debug.Common; using Microsoft.VisualStudio; using Microsoft.VisualStudio.Project; using Microsoft.VisualStudio.Shell; using Microsoft.VisualStudio.Shell.Interop; +using Cosmos.Build.Common; +using Cosmos.Debug.Common; + namespace Cosmos.VS.ProjectSystem { public class CosmosProjectConfig : ProjectConfig @@ -90,9 +91,9 @@ namespace Cosmos.VS.ProjectSystem xInfo.bstrExe = DictionaryHelper.DumpToString(xValues); // Select the debugger - xInfo.clsidCustom = new Guid("{FA1DA3A6-66FF-4c65-B077-E65F7164EF83}"); // Debug engine identifier. + xInfo.clsidCustom = Cosmos.VS.DebugEngine.AD7.Impl.AD7Engine.EngineID; // Debug engine identifier. // ??? This identifier doesn't seems to appear anywhere else in souce code. - xInfo.clsidPortSupplier = new Guid("{708C1ECA-FF48-11D2-904F-00C04FA302A1}"); + //xInfo.clsidPortSupplier = new Guid("{708C1ECA-FF48-11D2-904F-00C04FA302A1}"); VsShellUtilities.LaunchDebugger(ProjectMgr.Site, xInfo); } diff --git a/source/Cosmos.VS.ProjectSystem/source.extension.vsixmanifest b/source/Cosmos.VS.ProjectSystem/source.extension.vsixmanifest index 38e12b163..081820f0b 100644 --- a/source/Cosmos.VS.ProjectSystem/source.extension.vsixmanifest +++ b/source/Cosmos.VS.ProjectSystem/source.extension.vsixmanifest @@ -2,7 +2,7 @@ - Cosmos Visual Studio Project System + Cosmos Visual Studio Project System The Visual Studio project system for the Cosmos Operating System. Resources\Cosmos.ico