mirror of
https://github.com/ZuneDev/ZuneUIXTools.git
synced 2026-07-27 13:11:59 -07:00
Added beginnings of Iris VSIX
This commit is contained in:
+4
-1
@@ -337,4 +337,7 @@ ASALocalRun/
|
||||
.localhistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
healthchecksdb
|
||||
/VSIX/IrisProjTemplate/UIXsup.dll
|
||||
/VSIX/IrisProjTemplate/UIXrender.dll
|
||||
/VSIX/IrisProjTemplate/UIX.renderapi.dll
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<UsingTask AssemblyFile="D:\Repos\yoshiask\ZuneUIXTools\VSIX\UIXBuildTask\bin\Debug\UIXBuildTask.dll" TaskName="UIXBuild" />
|
||||
|
||||
<ItemGroup>
|
||||
<UIXSources Include="**\*.uix" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="UIX.renderapi.dll" />
|
||||
<None Remove="UIXrender.dll" />
|
||||
<None Remove="UIXsup.dll" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ContentWithTargetPath Include="lib\UIX.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<TargetPath>UIX.dll</TargetPath>
|
||||
</ContentWithTargetPath>
|
||||
<ContentWithTargetPath Include="lib\UIX.renderapi.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<TargetPath>UIX.renderapi.dll</TargetPath>
|
||||
</ContentWithTargetPath>
|
||||
<ContentWithTargetPath Include="lib\UIXrender.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<TargetPath>UIXrender.dll</TargetPath>
|
||||
</ContentWithTargetPath>
|
||||
<ContentWithTargetPath Include="lib\UIXsup.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<TargetPath>UIXsup.dll</TargetPath>
|
||||
</ContentWithTargetPath>
|
||||
|
||||
<Reference Include="UIX">
|
||||
<HintPath>lib\UIX.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UIX.RenderApi">
|
||||
<HintPath>lib\UIX.renderapi.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="true">
|
||||
<!--<Exec Command="D:\Repos\yoshiask\ZuneUIXTools\UIXBuild\bin\Debug\netcoreapp3.1\UIXBuild.exe "$(ProjectPath)" "$(TargetDir)""
|
||||
Inputs="$(ProjectPath)" Outputs="$(TargetDir)"/>-->
|
||||
<UIXBuild SourceFiles="@(UIXSources)" CompiledOutputDir="$(TargetDir)Resources" MSBuildArchitecture="x64" />
|
||||
</Target>
|
||||
|
||||
<!--<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
<Exec Command="D:\Repos\yoshiask\ZuneUIXTools\UIXBuild\bin\Debug\netcoreapp3.1\UIXBuild.exe $(ProjectPath) $(TargetDir)" />
|
||||
</Target>-->
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,40 @@
|
||||
using Microsoft.Iris;
|
||||
using System.IO;
|
||||
|
||||
namespace IrisProjTemplate
|
||||
{
|
||||
class Program
|
||||
{
|
||||
// The name of the UIX file to load on startup (excluding the file extension)
|
||||
// If left blank, Iris will load "Default"
|
||||
private const string StartupUIX = "MainPage";
|
||||
|
||||
// The name of the root UI element
|
||||
private const string UIRoot = "";
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
Application.Initialize();
|
||||
Application.Window.SetBackgroundColor(new WindowColor(0xE6, 0xE6, 0xE6));
|
||||
Load(StartupUIX, UIRoot);
|
||||
Application.Run();
|
||||
|
||||
// Any code after this point is run after the main program exits
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Requests the specified UIX file to be loaded into the application window
|
||||
/// </summary>
|
||||
/// <param name="startupUIX">The name of the UIX file to load on startup (excluding the file extension)</param>
|
||||
/// <param name="uiRoot">The name of the root UI element</param>
|
||||
static void Load(string startupUIX, string uiRoot)
|
||||
{
|
||||
string curDir = Directory.GetCurrentDirectory();
|
||||
string uibPath = Path.Combine(curDir, "Resources", startupUIX + ".uib");
|
||||
if (!File.Exists(uibPath))
|
||||
throw new FileNotFoundException($"File '{uibPath}' could not be loaded because it does not exist");
|
||||
|
||||
Application.Window.RequestLoad("file://" + uibPath + (string.IsNullOrEmpty(uiRoot) ? string.Empty : "#" + uiRoot));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<UIX xmlns="http://schemas.microsoft.com/2007/uix">
|
||||
<UI Name="Default">
|
||||
<Content>
|
||||
<Text Color="Red">
|
||||
<Content>Howdy from Microsoft.Iris!</Content>
|
||||
</Text>
|
||||
</Content>
|
||||
</UI>
|
||||
|
||||
<UI Name="Alt">
|
||||
<Content>
|
||||
<Text Color="Blue" Font="Segoe UI">
|
||||
<Content>This is some blue text</Content>
|
||||
</Text>
|
||||
</Content>
|
||||
</UI>
|
||||
</UIX>
|
||||
Binary file not shown.
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<gcAllowVeryLargeObjects enabled="true"/>
|
||||
</runtime>
|
||||
<startup>
|
||||
|
||||
<supportedRuntime version="v2.0.50727"/></startup>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MinimumVisualStudioVersion>16.0</MinimumVisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<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>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<ProjectGuid>{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>IrisVSIX</RootNamespace>
|
||||
<AssemblyName>IrisVSIX</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<GeneratePkgDefFile>true</GeneratePkgDefFile>
|
||||
<UseCodebase>true</UseCodebase>
|
||||
<IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
|
||||
<IncludeDebugSymbolsInVSIXContainer>false</IncludeDebugSymbolsInVSIXContainer>
|
||||
<IncludeDebugSymbolsInLocalVSIXDeployment>false</IncludeDebugSymbolsInLocalVSIXDeployment>
|
||||
<CopyBuildOutputToOutputDirectory>true</CopyBuildOutputToOutputDirectory>
|
||||
<CopyOutputSymbolsToOutputDirectory>true</CopyOutputSymbolsToOutputDirectory>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram Condition="'$(DevEnvDir)' != ''">$(DevEnvDir)devenv.exe</StartProgram>
|
||||
<StartArguments>/rootsuffix Exp</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<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' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="IrisVSIXPackage.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="source.extension.vsixmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.VisualStudio.SDK" Version="16.0.206" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="16.8.3038" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -0,0 +1,53 @@
|
||||
using Microsoft.VisualStudio.Shell;
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using Task = System.Threading.Tasks.Task;
|
||||
|
||||
namespace IrisVSIX
|
||||
{
|
||||
/// <summary>
|
||||
/// This is the class that implements the package exposed by this assembly.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>
|
||||
/// The minimum requirement for a class to be considered a valid package for Visual Studio
|
||||
/// is to implement the IVsPackage interface and register itself with the shell.
|
||||
/// This package uses the helper classes defined inside the Managed Package Framework (MPF)
|
||||
/// to do it: it derives from the Package class that provides the implementation of the
|
||||
/// IVsPackage interface and uses the registration attributes defined in the framework to
|
||||
/// register itself and its components with the shell. These attributes tell the pkgdef creation
|
||||
/// utility what data to put into .pkgdef file.
|
||||
/// </para>
|
||||
/// <para>
|
||||
/// To get loaded into VS, the package must be referred by <Asset Type="Microsoft.VisualStudio.VsPackage" ...> in .vsixmanifest file.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
|
||||
[Guid(IrisVSIXPackage.PackageGuidString)]
|
||||
public sealed class IrisVSIXPackage : AsyncPackage
|
||||
{
|
||||
/// <summary>
|
||||
/// IrisVSIXPackage GUID string.
|
||||
/// </summary>
|
||||
public const string PackageGuidString = "dcbeab68-84e2-4338-bd7f-330aebb43454";
|
||||
|
||||
#region Package Members
|
||||
|
||||
/// <summary>
|
||||
/// Initialization of the package; this method is called right after the package is sited, so this is the place
|
||||
/// where you can put all the initialization code that rely on services provided by VisualStudio.
|
||||
/// </summary>
|
||||
/// <param name="cancellationToken">A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down.</param>
|
||||
/// <param name="progress">A provider for progress updates.</param>
|
||||
/// <returns>A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method.</returns>
|
||||
protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
|
||||
{
|
||||
// When initialized asynchronously, the current thread may be a background thread at this point.
|
||||
// Do any initialization that requires the UI thread after switching to the UI thread.
|
||||
await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("IrisVSIX")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("IrisVSIX")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
|
||||
<Metadata>
|
||||
<Identity Id="IrisVSIX.d94f4fc2-8bd9-4406-a3aa-d6e1b150381d" Version="1.0" Language="en-US" Publisher="Joshua Askharoun" />
|
||||
<DisplayName>Iris UI Development</DisplayName>
|
||||
<Description xml:space="preserve">Adds development tools and templates for creating apps that utilize Microsoft's Iris UI Framework.</Description>
|
||||
<Preview>true</Preview>
|
||||
</Metadata>
|
||||
<Installation>
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[16.0, 17.0)" />
|
||||
</Installation>
|
||||
<Dependencies>
|
||||
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
|
||||
</Dependencies>
|
||||
<Prerequisites>
|
||||
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[16.0,17.0)" DisplayName="Visual Studio core editor" />
|
||||
</Prerequisites>
|
||||
<Assets>
|
||||
<Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" />
|
||||
</Assets>
|
||||
</PackageManifest>
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("UIXBuildTask")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("UIXBuildTask")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2021")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("1ff973f0-c293-439c-83f8-d2c02b624c2d")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,115 @@
|
||||
using Microsoft.Build.Utilities;
|
||||
using Microsoft.Build.Framework;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
using Microsoft.Iris.Markup;
|
||||
using Microsoft.Iris;
|
||||
using Microsoft.Iris.Session;
|
||||
using System.Collections;
|
||||
|
||||
namespace UIXBuildTask
|
||||
{
|
||||
public class UIXBuild : Task
|
||||
{
|
||||
private readonly string[] RequiredDlls = new[]
|
||||
{
|
||||
"UIXrender.dll", "UIX.renderapi.dll", "UIXsup.dll"
|
||||
};
|
||||
|
||||
private ITaskItem[] _sourcefiles;
|
||||
private string[] _compiledFiles;
|
||||
private string _compiledOutputDir;
|
||||
|
||||
/// <summary>
|
||||
/// A list of all UIX source files to compile.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public ITaskItem[] SourceFiles
|
||||
{
|
||||
get => _sourcefiles;
|
||||
set => _sourcefiles = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Directory to output compiled files to.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string CompiledOutputDir
|
||||
{
|
||||
get => _compiledOutputDir;
|
||||
set => _compiledOutputDir = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A list of all UIB files generated.
|
||||
/// </summary>
|
||||
[Output]
|
||||
public string[] CompiledFiles
|
||||
{
|
||||
get => _compiledFiles;
|
||||
set => _compiledFiles = value;
|
||||
}
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
if (SourceFiles.Length == 0)
|
||||
return true;
|
||||
|
||||
// The task is run from the project directory, not the output directory,
|
||||
// so the Iris library will fail to find UIXrender.dll unless we move it.
|
||||
foreach (string dll in RequiredDlls)
|
||||
File.Copy(
|
||||
Path.Combine(Directory.GetCurrentDirectory(), "lib", dll),
|
||||
Path.Combine(Directory.GetCurrentDirectory(), dll),
|
||||
true);
|
||||
|
||||
bool isSuccess = true;
|
||||
try
|
||||
{
|
||||
// Initialize UIX compiler
|
||||
MarkupSystem.Startup(true);
|
||||
ErrorManager.OnErrors += (IList errors) => {
|
||||
foreach (object obj in errors)
|
||||
{
|
||||
if (obj is ErrorRecord err)
|
||||
Log.LogError("", "", "", err.Context, err.Line, err.Column, err.Line, err.Column, err.Message);
|
||||
else
|
||||
Log.LogError(obj.ToString());
|
||||
}
|
||||
};
|
||||
|
||||
foreach (ITaskItem item in SourceFiles)
|
||||
{
|
||||
string sourceFile = item.GetMetadata("FullPath");
|
||||
string compiledFile = Path.Combine(CompiledOutputDir, Path.GetFileNameWithoutExtension(sourceFile) + ".uib");
|
||||
Directory.CreateDirectory(CompiledOutputDir);
|
||||
|
||||
// Compile sourePath
|
||||
isSuccess &= MarkupCompiler.Compile(
|
||||
new[]
|
||||
{
|
||||
new CompilerInput()
|
||||
{
|
||||
SourceFileName = sourceFile,
|
||||
OutputFileName = compiledFile
|
||||
}
|
||||
},
|
||||
new CompilerInput()
|
||||
);
|
||||
|
||||
if (!isSuccess)
|
||||
Log.LogError($"Failed to compile {sourceFile}");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
// TODO: Don't leave random DLLs in the project directory
|
||||
//foreach (string dll in RequiredDlls)
|
||||
// File.Delete(Path.Combine(Directory.GetCurrentDirectory(), dll));
|
||||
}
|
||||
|
||||
return isSuccess;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
<?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>{1FF973F0-C293-439C-83F8-D2C02B624C2D}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>UIXBuildTask</RootNamespace>
|
||||
<AssemblyName>UIXBuildTask</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Build" />
|
||||
<Reference Include="Microsoft.Build.Framework" />
|
||||
<Reference Include="Microsoft.Build.Utilities.v4.0" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="UIXBuild.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\ZuneShell\UIX\UIX.csproj">
|
||||
<Project>{5681a1bd-b3ec-450b-bf6e-38187204b6be}</Project>
|
||||
<Name>UIX</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
+48
-1
@@ -3,28 +3,75 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30907.101
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZuneUIXTools", "ZuneUIXTools\ZuneUIXTools.csproj", "{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZuneUIXTools", "ZuneUIXTools\ZuneUIXTools.csproj", "{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UIX", "..\ZuneShell\UIX\UIX.csproj", "{5681A1BD-B3EC-450B-BF6E-38187204B6BE}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VSIX", "VSIX", "{0CB0EB34-BA9C-4D36-AE45-380F3F0D12ED}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IrisVSIX", "VSIX\IrisVSIX\IrisVSIX.csproj", "{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IrisProjTemplate", "VSIX\IrisProjTemplate\IrisProjTemplate.csproj", "{854495B4-B684-47AC-9771-A644BF47B2FF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UIXBuildTask", "VSIX\UIXBuildTask\UIXBuildTask.csproj", "{1FF973F0-C293-439C-83F8-D2C02B624C2D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3F8F7428-4FC3-41B8-BE59-E6F25C11019A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{5681A1BD-B3EC-450B-BF6E-38187204B6BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5681A1BD-B3EC-450B-BF6E-38187204B6BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5681A1BD-B3EC-450B-BF6E-38187204B6BE}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{5681A1BD-B3EC-450B-BF6E-38187204B6BE}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{5681A1BD-B3EC-450B-BF6E-38187204B6BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5681A1BD-B3EC-450B-BF6E-38187204B6BE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5681A1BD-B3EC-450B-BF6E-38187204B6BE}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{5681A1BD-B3EC-450B-BF6E-38187204B6BE}.Release|x64.Build.0 = Release|Any CPU
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF}.Debug|x64.Build.0 = Debug|x64
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF}.Release|x64.ActiveCfg = Release|x64
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF}.Release|x64.Build.0 = Release|x64
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D}.Release|x64.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{B4EEF46A-3235-42BD-9540-7AAA03BAC77D} = {0CB0EB34-BA9C-4D36-AE45-380F3F0D12ED}
|
||||
{854495B4-B684-47AC-9771-A644BF47B2FF} = {0CB0EB34-BA9C-4D36-AE45-380F3F0D12ED}
|
||||
{1FF973F0-C293-439C-83F8-D2C02B624C2D} = {0CB0EB34-BA9C-4D36-AE45-380F3F0D12ED}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4FFAF324-5FC4-4AAF-A0D7-BAA0D81C2B4C}
|
||||
EndGlobalSection
|
||||
|
||||
@@ -22,6 +22,7 @@ using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using Application = Microsoft.Iris.Application;
|
||||
using Window = System.Windows.Window;
|
||||
|
||||
namespace ZuneUIXTools
|
||||
@@ -130,20 +131,20 @@ namespace ZuneUIXTools
|
||||
|
||||
try
|
||||
{
|
||||
Microsoft.Iris.Application.Initialize();
|
||||
Application.Initialize();
|
||||
}
|
||||
catch { }
|
||||
|
||||
try
|
||||
{
|
||||
Microsoft.Iris.Application.Window.SetBackgroundColor(new WindowColor(0xE6, 0xE6, 0xE6));
|
||||
Microsoft.Iris.Application.Window.RequestLoad("file://" + compiledFile + (string.IsNullOrEmpty(UIRoot) ? string.Empty : "#" + UIRoot));
|
||||
Microsoft.Iris.Application.Window.CloseRequested += (object sender, WindowCloseRequestedEventArgs args) =>
|
||||
Application.Window.SetBackgroundColor(new WindowColor(0xE6, 0xE6, 0xE6));
|
||||
Application.Window.RequestLoad("file://" + compiledFile + (string.IsNullOrEmpty(UIRoot) ? string.Empty : "#" + UIRoot));
|
||||
Application.Window.CloseRequested += (object sender, WindowCloseRequestedEventArgs args) =>
|
||||
{
|
||||
args.BlockCloseRequest();
|
||||
Microsoft.Iris.Application.Window.Visible = false;
|
||||
Application.Window.Visible = false;
|
||||
};
|
||||
Microsoft.Iris.Application.Run();
|
||||
Application.Run();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -1,41 +1,41 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="Images\*.*">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Images\*.*">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AvalonEdit" Version="6.1.1" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AvalonEdit" Version="6.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\ZuneShell\UIX\UIX.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\ZuneShell\UIX\UIX.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="UIX.RenderApi">
|
||||
<HintPath>..\lib\UIX.renderapi.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="UIX.RenderApi">
|
||||
<HintPath>..\lib\UIX.renderapi.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="lib\UIX.renderapi.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="lib\UIXrender.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="lib\UIXsup.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Update="lib\UIX.renderapi.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="lib\UIXrender.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="lib\UIXsup.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user