Skip to content

Repository files navigation

This repository contains the source code of the 2 following products, which share most of their code:

  • OpenSilver (www.opensilver.net) → It compiles C#/XAML/.NET to WebAssembly/HTML/CSS (Free, Open Source, MIT Licensed)
  • CSHTML5 (www.cshtml5.com) → It compiles C#/XAML/.NET to JavaScript/HTML/CSS (Dual Licensed)

The main branches are:

  • develop: this branch is where day to day development occurs
  • master: this branch corresponds to the version of the packages that are on Nuget.org

How to download the software and get started?

Read the "Getting Started" page of the OpenSilver documentation for a step-by-step tutorial.

Basically, you should download the .VSIX file (the extension for Microsoft Visual Studio) which installs the Project Templates:

Then, launch Visual Studio, click "Create a new project", and choose one of the installed templates.

After creating the project, you may then want to update the NuGet package to reference the very latest version (note: in the NuGet Package Manager, be sure to check the option "include pre-releases", otherwise you may not see the latest package version).

How to build the source code in this repository?

  1. Update Visual Studio: Make sure you are using the very latest version of Visual Studio 2019. To check for updates, please launch the Visual Studio Installer from your Start Menu.

  2. Clone the repo: Clone this repository locally or download it as a ZIP archive and extract it on your machine

  3. Run the restoration .BAT: Execute the .BAT file "restore-packages-opensilver.bat" (or "restore-packages-cshtml5.bat" depending on whether you are using OpenSilver or CSHTML5)

  4. (Optional) Update OpenSilver compiler assemblies: OpenSiler has a dependency on an older version of OpenSilver to convert xaml files to C#, which is retrieved by the restore batch file (from 3.). Due to continous updates, this restored version can sometimes have outdated OpenSilver compiler assemblies which might cause unexpected compilation or runtime errors. To fix this, you should rebuild the Compiler.OpenSilver project and replace the assemblies "OpenSilver.Compiler.dll", "OpenSilver.Compiler.Common.dll" in the "src/packages/OpenSilver./tools/" (or "src/packages/OpenSilver.UWPCompatible./tools/" if you are working with the UWP configuration) folder.

  5. Delete bin/obj: Make sure to remove the "bin" and "obj" folders, if any. They can cause issues when building using the ".bat" files.

  6. Launch Developer Command Prompt: Open the "Developer Command Prompt for VS 2019" (or newer) from your Start Menu

  7. Run the compilation .BAT: Launch the file "build-nuget-package-OpenSilver-private.bat" (or "build-nuget-package-CSHTML5-private.bat" depending on whether you are using OpenSilver or CSHTML5) and enter today's date or any other unique identifier to use for the version number (eg. 2021-10-12)

For convenience, instead of building the whole packages as instructed above, you can alternatively build only the Runtime DLL, To do so, open the solution file "OpenSilver.sln" or "CSHTML5.sln" (depending on whether you are using OpenSilver or CSHTML5), choose the appropriate "Solution Configuration" (see below)

Note: while rarely needed, there is also a .BAT file for building the Simulator package

What are those solution configurations?

OpenSilver configurations:

  • SL: Uses the Silverlight-like dialect of XAML.
  • UWP: Uses the UWP-like dialect of XAML.

CSHTML5 configurations:

  • Debug: Uses the UWP-like dialect of XAML.
  • Migration: Uses the Silverlight-like dialect of XAML.

Note: the legacy "WorkInProgress" configurations have been removed as the unimplemented members have been merged into the current configurations.

What if I get a compilation error with the code in this repository?

If you get a compilation error, it may be that a Visual Studio workload needs to be installed. To find out, please open the solution "OpenSilver.sln" or "CSHTML5.sln" and attempt to compile it with the Visual Studio IDE (2019 or newer).

If you are compiling using the Command Prompt, please double-check that you are using the "Developer Command Prompt", not the standard Command Prompt, and that the current directory is set to the "build" directory of this repository, because some paths in the .BAT files may be relative to the current directory.

If you still encounter any issues, please contact:

About

This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - ivoryguard/OpenSilver: This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it. · GitHub
Skip to content

Repository files navigation

This repository contains the source code of the 2 following products, which share most of their code:

  • OpenSilver (www.opensilver.net) → It compiles C#/XAML/.NET to WebAssembly/HTML/CSS (Free, Open Source, MIT Licensed)
  • CSHTML5 (www.cshtml5.com) → It compiles C#/XAML/.NET to JavaScript/HTML/CSS (Dual Licensed)

The main branches are:

  • develop: this branch is where day to day development occurs
  • master: this branch corresponds to the version of the packages that are on Nuget.org

How to download the software and get started?

Read the "Getting Started" page of the OpenSilver documentation for a step-by-step tutorial.

Basically, you should download the .VSIX file (the extension for Microsoft Visual Studio) which installs the Project Templates:

Then, launch Visual Studio, click "Create a new project", and choose one of the installed templates.

After creating the project, you may then want to update the NuGet package to reference the very latest version (note: in the NuGet Package Manager, be sure to check the option "include pre-releases", otherwise you may not see the latest package version).

How to build the source code in this repository?

  1. Update Visual Studio: Make sure you are using the very latest version of Visual Studio 2019. To check for updates, please launch the Visual Studio Installer from your Start Menu.

  2. Clone the repo: Clone this repository locally or download it as a ZIP archive and extract it on your machine

  3. Run the restoration .BAT: Execute the .BAT file "restore-packages-opensilver.bat" (or "restore-packages-cshtml5.bat" depending on whether you are using OpenSilver or CSHTML5)

  4. (Optional) Update OpenSilver compiler assemblies: OpenSiler has a dependency on an older version of OpenSilver to convert xaml files to C#, which is retrieved by the restore batch file (from 3.). Due to continous updates, this restored version can sometimes have outdated OpenSilver compiler assemblies which might cause unexpected compilation or runtime errors. To fix this, you should rebuild the Compiler.OpenSilver project and replace the assemblies "OpenSilver.Compiler.dll", "OpenSilver.Compiler.Common.dll" in the "src/packages/OpenSilver./tools/" (or "src/packages/OpenSilver.UWPCompatible./tools/" if you are working with the UWP configuration) folder.

  5. Delete bin/obj: Make sure to remove the "bin" and "obj" folders, if any. They can cause issues when building using the ".bat" files.

  6. Launch Developer Command Prompt: Open the "Developer Command Prompt for VS 2019" (or newer) from your Start Menu

  7. Run the compilation .BAT: Launch the file "build-nuget-package-OpenSilver-private.bat" (or "build-nuget-package-CSHTML5-private.bat" depending on whether you are using OpenSilver or CSHTML5) and enter today's date or any other unique identifier to use for the version number (eg. 2021-10-12)

For convenience, instead of building the whole packages as instructed above, you can alternatively build only the Runtime DLL, To do so, open the solution file "OpenSilver.sln" or "CSHTML5.sln" (depending on whether you are using OpenSilver or CSHTML5), choose the appropriate "Solution Configuration" (see below)

Note: while rarely needed, there is also a .BAT file for building the Simulator package

What are those solution configurations?

OpenSilver configurations:

  • SL: Uses the Silverlight-like dialect of XAML.
  • UWP: Uses the UWP-like dialect of XAML.

CSHTML5 configurations:

  • Debug: Uses the UWP-like dialect of XAML.
  • Migration: Uses the Silverlight-like dialect of XAML.

Note: the legacy "WorkInProgress" configurations have been removed as the unimplemented members have been merged into the current configurations.

What if I get a compilation error with the code in this repository?

If you get a compilation error, it may be that a Visual Studio workload needs to be installed. To find out, please open the solution "OpenSilver.sln" or "CSHTML5.sln" and attempt to compile it with the Visual Studio IDE (2019 or newer).

If you are compiling using the Command Prompt, please double-check that you are using the "Developer Command Prompt", not the standard Command Prompt, and that the current directory is set to the "build" directory of this repository, because some paths in the .BAT files may be relative to the current directory.

If you still encounter any issues, please contact:

About

This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ivoryguard/OpenSilver: This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it. · GitHub
Skip to content

Repository files navigation

This repository contains the source code of the 2 following products, which share most of their code:

  • OpenSilver (www.opensilver.net) → It compiles C#/XAML/.NET to WebAssembly/HTML/CSS (Free, Open Source, MIT Licensed)
  • CSHTML5 (www.cshtml5.com) → It compiles C#/XAML/.NET to JavaScript/HTML/CSS (Dual Licensed)

The main branches are:

  • develop: this branch is where day to day development occurs
  • master: this branch corresponds to the version of the packages that are on Nuget.org

How to download the software and get started?

Read the "Getting Started" page of the OpenSilver documentation for a step-by-step tutorial.

Basically, you should download the .VSIX file (the extension for Microsoft Visual Studio) which installs the Project Templates:

Then, launch Visual Studio, click "Create a new project", and choose one of the installed templates.

After creating the project, you may then want to update the NuGet package to reference the very latest version (note: in the NuGet Package Manager, be sure to check the option "include pre-releases", otherwise you may not see the latest package version).

How to build the source code in this repository?

  1. Update Visual Studio: Make sure you are using the very latest version of Visual Studio 2019. To check for updates, please launch the Visual Studio Installer from your Start Menu.

  2. Clone the repo: Clone this repository locally or download it as a ZIP archive and extract it on your machine

  3. Run the restoration .BAT: Execute the .BAT file "restore-packages-opensilver.bat" (or "restore-packages-cshtml5.bat" depending on whether you are using OpenSilver or CSHTML5)

  4. (Optional) Update OpenSilver compiler assemblies: OpenSiler has a dependency on an older version of OpenSilver to convert xaml files to C#, which is retrieved by the restore batch file (from 3.). Due to continous updates, this restored version can sometimes have outdated OpenSilver compiler assemblies which might cause unexpected compilation or runtime errors. To fix this, you should rebuild the Compiler.OpenSilver project and replace the assemblies "OpenSilver.Compiler.dll", "OpenSilver.Compiler.Common.dll" in the "src/packages/OpenSilver./tools/" (or "src/packages/OpenSilver.UWPCompatible./tools/" if you are working with the UWP configuration) folder.

  5. Delete bin/obj: Make sure to remove the "bin" and "obj" folders, if any. They can cause issues when building using the ".bat" files.

  6. Launch Developer Command Prompt: Open the "Developer Command Prompt for VS 2019" (or newer) from your Start Menu

  7. Run the compilation .BAT: Launch the file "build-nuget-package-OpenSilver-private.bat" (or "build-nuget-package-CSHTML5-private.bat" depending on whether you are using OpenSilver or CSHTML5) and enter today's date or any other unique identifier to use for the version number (eg. 2021-10-12)

For convenience, instead of building the whole packages as instructed above, you can alternatively build only the Runtime DLL, To do so, open the solution file "OpenSilver.sln" or "CSHTML5.sln" (depending on whether you are using OpenSilver or CSHTML5), choose the appropriate "Solution Configuration" (see below)

Note: while rarely needed, there is also a .BAT file for building the Simulator package

What are those solution configurations?

OpenSilver configurations:

  • SL: Uses the Silverlight-like dialect of XAML.
  • UWP: Uses the UWP-like dialect of XAML.

CSHTML5 configurations:

  • Debug: Uses the UWP-like dialect of XAML.
  • Migration: Uses the Silverlight-like dialect of XAML.

Note: the legacy "WorkInProgress" configurations have been removed as the unimplemented members have been merged into the current configurations.

What if I get a compilation error with the code in this repository?

If you get a compilation error, it may be that a Visual Studio workload needs to be installed. To find out, please open the solution "OpenSilver.sln" or "CSHTML5.sln" and attempt to compile it with the Visual Studio IDE (2019 or newer).

If you are compiling using the Command Prompt, please double-check that you are using the "Developer Command Prompt", not the standard Command Prompt, and that the current directory is set to the "build" directory of this repository, because some paths in the .BAT files may be relative to the current directory.

If you still encounter any issues, please contact:

About

This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ivoryguard/OpenSilver: This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it. · GitHub
Skip to content

Repository files navigation

This repository contains the source code of the 2 following products, which share most of their code:

  • OpenSilver (www.opensilver.net) → It compiles C#/XAML/.NET to WebAssembly/HTML/CSS (Free, Open Source, MIT Licensed)
  • CSHTML5 (www.cshtml5.com) → It compiles C#/XAML/.NET to JavaScript/HTML/CSS (Dual Licensed)

The main branches are:

  • develop: this branch is where day to day development occurs
  • master: this branch corresponds to the version of the packages that are on Nuget.org

How to download the software and get started?

Read the "Getting Started" page of the OpenSilver documentation for a step-by-step tutorial.

Basically, you should download the .VSIX file (the extension for Microsoft Visual Studio) which installs the Project Templates:

Then, launch Visual Studio, click "Create a new project", and choose one of the installed templates.

After creating the project, you may then want to update the NuGet package to reference the very latest version (note: in the NuGet Package Manager, be sure to check the option "include pre-releases", otherwise you may not see the latest package version).

How to build the source code in this repository?

  1. Update Visual Studio: Make sure you are using the very latest version of Visual Studio 2019. To check for updates, please launch the Visual Studio Installer from your Start Menu.

  2. Clone the repo: Clone this repository locally or download it as a ZIP archive and extract it on your machine

  3. Run the restoration .BAT: Execute the .BAT file "restore-packages-opensilver.bat" (or "restore-packages-cshtml5.bat" depending on whether you are using OpenSilver or CSHTML5)

  4. (Optional) Update OpenSilver compiler assemblies: OpenSiler has a dependency on an older version of OpenSilver to convert xaml files to C#, which is retrieved by the restore batch file (from 3.). Due to continous updates, this restored version can sometimes have outdated OpenSilver compiler assemblies which might cause unexpected compilation or runtime errors. To fix this, you should rebuild the Compiler.OpenSilver project and replace the assemblies "OpenSilver.Compiler.dll", "OpenSilver.Compiler.Common.dll" in the "src/packages/OpenSilver./tools/" (or "src/packages/OpenSilver.UWPCompatible./tools/" if you are working with the UWP configuration) folder.

  5. Delete bin/obj: Make sure to remove the "bin" and "obj" folders, if any. They can cause issues when building using the ".bat" files.

  6. Launch Developer Command Prompt: Open the "Developer Command Prompt for VS 2019" (or newer) from your Start Menu

  7. Run the compilation .BAT: Launch the file "build-nuget-package-OpenSilver-private.bat" (or "build-nuget-package-CSHTML5-private.bat" depending on whether you are using OpenSilver or CSHTML5) and enter today's date or any other unique identifier to use for the version number (eg. 2021-10-12)

For convenience, instead of building the whole packages as instructed above, you can alternatively build only the Runtime DLL, To do so, open the solution file "OpenSilver.sln" or "CSHTML5.sln" (depending on whether you are using OpenSilver or CSHTML5), choose the appropriate "Solution Configuration" (see below)

Note: while rarely needed, there is also a .BAT file for building the Simulator package

What are those solution configurations?

OpenSilver configurations:

  • SL: Uses the Silverlight-like dialect of XAML.
  • UWP: Uses the UWP-like dialect of XAML.

CSHTML5 configurations:

  • Debug: Uses the UWP-like dialect of XAML.
  • Migration: Uses the Silverlight-like dialect of XAML.

Note: the legacy "WorkInProgress" configurations have been removed as the unimplemented members have been merged into the current configurations.

What if I get a compilation error with the code in this repository?

If you get a compilation error, it may be that a Visual Studio workload needs to be installed. To find out, please open the solution "OpenSilver.sln" or "CSHTML5.sln" and attempt to compile it with the Visual Studio IDE (2019 or newer).

If you are compiling using the Command Prompt, please double-check that you are using the "Developer Command Prompt", not the standard Command Prompt, and that the current directory is set to the "build" directory of this repository, because some paths in the .BAT files may be relative to the current directory.

If you still encounter any issues, please contact:

About

This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - ivoryguard/OpenSilver: This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it. · GitHub
Skip to content

Repository files navigation

This repository contains the source code of the 2 following products, which share most of their code:

  • OpenSilver (www.opensilver.net) → It compiles C#/XAML/.NET to WebAssembly/HTML/CSS (Free, Open Source, MIT Licensed)
  • CSHTML5 (www.cshtml5.com) → It compiles C#/XAML/.NET to JavaScript/HTML/CSS (Dual Licensed)

The main branches are:

  • develop: this branch is where day to day development occurs
  • master: this branch corresponds to the version of the packages that are on Nuget.org

How to download the software and get started?

Read the "Getting Started" page of the OpenSilver documentation for a step-by-step tutorial.

Basically, you should download the .VSIX file (the extension for Microsoft Visual Studio) which installs the Project Templates:

Then, launch Visual Studio, click "Create a new project", and choose one of the installed templates.

After creating the project, you may then want to update the NuGet package to reference the very latest version (note: in the NuGet Package Manager, be sure to check the option "include pre-releases", otherwise you may not see the latest package version).

How to build the source code in this repository?

  1. Update Visual Studio: Make sure you are using the very latest version of Visual Studio 2019. To check for updates, please launch the Visual Studio Installer from your Start Menu.

  2. Clone the repo: Clone this repository locally or download it as a ZIP archive and extract it on your machine

  3. Run the restoration .BAT: Execute the .BAT file "restore-packages-opensilver.bat" (or "restore-packages-cshtml5.bat" depending on whether you are using OpenSilver or CSHTML5)

  4. (Optional) Update OpenSilver compiler assemblies: OpenSiler has a dependency on an older version of OpenSilver to convert xaml files to C#, which is retrieved by the restore batch file (from 3.). Due to continous updates, this restored version can sometimes have outdated OpenSilver compiler assemblies which might cause unexpected compilation or runtime errors. To fix this, you should rebuild the Compiler.OpenSilver project and replace the assemblies "OpenSilver.Compiler.dll", "OpenSilver.Compiler.Common.dll" in the "src/packages/OpenSilver./tools/" (or "src/packages/OpenSilver.UWPCompatible./tools/" if you are working with the UWP configuration) folder.

  5. Delete bin/obj: Make sure to remove the "bin" and "obj" folders, if any. They can cause issues when building using the ".bat" files.

  6. Launch Developer Command Prompt: Open the "Developer Command Prompt for VS 2019" (or newer) from your Start Menu

  7. Run the compilation .BAT: Launch the file "build-nuget-package-OpenSilver-private.bat" (or "build-nuget-package-CSHTML5-private.bat" depending on whether you are using OpenSilver or CSHTML5) and enter today's date or any other unique identifier to use for the version number (eg. 2021-10-12)

For convenience, instead of building the whole packages as instructed above, you can alternatively build only the Runtime DLL, To do so, open the solution file "OpenSilver.sln" or "CSHTML5.sln" (depending on whether you are using OpenSilver or CSHTML5), choose the appropriate "Solution Configuration" (see below)

Note: while rarely needed, there is also a .BAT file for building the Simulator package

What are those solution configurations?

OpenSilver configurations:

  • SL: Uses the Silverlight-like dialect of XAML.
  • UWP: Uses the UWP-like dialect of XAML.

CSHTML5 configurations:

  • Debug: Uses the UWP-like dialect of XAML.
  • Migration: Uses the Silverlight-like dialect of XAML.

Note: the legacy "WorkInProgress" configurations have been removed as the unimplemented members have been merged into the current configurations.

What if I get a compilation error with the code in this repository?

If you get a compilation error, it may be that a Visual Studio workload needs to be installed. To find out, please open the solution "OpenSilver.sln" or "CSHTML5.sln" and attempt to compile it with the Visual Studio IDE (2019 or newer).

If you are compiling using the Command Prompt, please double-check that you are using the "Developer Command Prompt", not the standard Command Prompt, and that the current directory is set to the "build" directory of this repository, because some paths in the .BAT files may be relative to the current directory.

If you still encounter any issues, please contact:

About

This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ivoryguard/OpenSilver: This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it. · GitHub
Skip to content

Repository files navigation

This repository contains the source code of the 2 following products, which share most of their code:

  • OpenSilver (www.opensilver.net) → It compiles C#/XAML/.NET to WebAssembly/HTML/CSS (Free, Open Source, MIT Licensed)
  • CSHTML5 (www.cshtml5.com) → It compiles C#/XAML/.NET to JavaScript/HTML/CSS (Dual Licensed)

The main branches are:

  • develop: this branch is where day to day development occurs
  • master: this branch corresponds to the version of the packages that are on Nuget.org

How to download the software and get started?

Read the "Getting Started" page of the OpenSilver documentation for a step-by-step tutorial.

Basically, you should download the .VSIX file (the extension for Microsoft Visual Studio) which installs the Project Templates:

Then, launch Visual Studio, click "Create a new project", and choose one of the installed templates.

After creating the project, you may then want to update the NuGet package to reference the very latest version (note: in the NuGet Package Manager, be sure to check the option "include pre-releases", otherwise you may not see the latest package version).

How to build the source code in this repository?

  1. Update Visual Studio: Make sure you are using the very latest version of Visual Studio 2019. To check for updates, please launch the Visual Studio Installer from your Start Menu.

  2. Clone the repo: Clone this repository locally or download it as a ZIP archive and extract it on your machine

  3. Run the restoration .BAT: Execute the .BAT file "restore-packages-opensilver.bat" (or "restore-packages-cshtml5.bat" depending on whether you are using OpenSilver or CSHTML5)

  4. (Optional) Update OpenSilver compiler assemblies: OpenSiler has a dependency on an older version of OpenSilver to convert xaml files to C#, which is retrieved by the restore batch file (from 3.). Due to continous updates, this restored version can sometimes have outdated OpenSilver compiler assemblies which might cause unexpected compilation or runtime errors. To fix this, you should rebuild the Compiler.OpenSilver project and replace the assemblies "OpenSilver.Compiler.dll", "OpenSilver.Compiler.Common.dll" in the "src/packages/OpenSilver./tools/" (or "src/packages/OpenSilver.UWPCompatible./tools/" if you are working with the UWP configuration) folder.

  5. Delete bin/obj: Make sure to remove the "bin" and "obj" folders, if any. They can cause issues when building using the ".bat" files.

  6. Launch Developer Command Prompt: Open the "Developer Command Prompt for VS 2019" (or newer) from your Start Menu

  7. Run the compilation .BAT: Launch the file "build-nuget-package-OpenSilver-private.bat" (or "build-nuget-package-CSHTML5-private.bat" depending on whether you are using OpenSilver or CSHTML5) and enter today's date or any other unique identifier to use for the version number (eg. 2021-10-12)

For convenience, instead of building the whole packages as instructed above, you can alternatively build only the Runtime DLL, To do so, open the solution file "OpenSilver.sln" or "CSHTML5.sln" (depending on whether you are using OpenSilver or CSHTML5), choose the appropriate "Solution Configuration" (see below)

Note: while rarely needed, there is also a .BAT file for building the Simulator package

What are those solution configurations?

OpenSilver configurations:

  • SL: Uses the Silverlight-like dialect of XAML.
  • UWP: Uses the UWP-like dialect of XAML.

CSHTML5 configurations:

  • Debug: Uses the UWP-like dialect of XAML.
  • Migration: Uses the Silverlight-like dialect of XAML.

Note: the legacy "WorkInProgress" configurations have been removed as the unimplemented members have been merged into the current configurations.

What if I get a compilation error with the code in this repository?

If you get a compilation error, it may be that a Visual Studio workload needs to be installed. To find out, please open the solution "OpenSilver.sln" or "CSHTML5.sln" and attempt to compile it with the Visual Studio IDE (2019 or newer).

If you are compiling using the Command Prompt, please double-check that you are using the "Developer Command Prompt", not the standard Command Prompt, and that the current directory is set to the "build" directory of this repository, because some paths in the .BAT files may be relative to the current directory.

If you still encounter any issues, please contact:

About

This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ivoryguard/OpenSilver: This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it. · GitHub
Skip to content

Repository files navigation

This repository contains the source code of the 2 following products, which share most of their code:

  • OpenSilver (www.opensilver.net) → It compiles C#/XAML/.NET to WebAssembly/HTML/CSS (Free, Open Source, MIT Licensed)
  • CSHTML5 (www.cshtml5.com) → It compiles C#/XAML/.NET to JavaScript/HTML/CSS (Dual Licensed)

The main branches are:

  • develop: this branch is where day to day development occurs
  • master: this branch corresponds to the version of the packages that are on Nuget.org

How to download the software and get started?

Read the "Getting Started" page of the OpenSilver documentation for a step-by-step tutorial.

Basically, you should download the .VSIX file (the extension for Microsoft Visual Studio) which installs the Project Templates:

Then, launch Visual Studio, click "Create a new project", and choose one of the installed templates.

After creating the project, you may then want to update the NuGet package to reference the very latest version (note: in the NuGet Package Manager, be sure to check the option "include pre-releases", otherwise you may not see the latest package version).

How to build the source code in this repository?

  1. Update Visual Studio: Make sure you are using the very latest version of Visual Studio 2019. To check for updates, please launch the Visual Studio Installer from your Start Menu.

  2. Clone the repo: Clone this repository locally or download it as a ZIP archive and extract it on your machine

  3. Run the restoration .BAT: Execute the .BAT file "restore-packages-opensilver.bat" (or "restore-packages-cshtml5.bat" depending on whether you are using OpenSilver or CSHTML5)

  4. (Optional) Update OpenSilver compiler assemblies: OpenSiler has a dependency on an older version of OpenSilver to convert xaml files to C#, which is retrieved by the restore batch file (from 3.). Due to continous updates, this restored version can sometimes have outdated OpenSilver compiler assemblies which might cause unexpected compilation or runtime errors. To fix this, you should rebuild the Compiler.OpenSilver project and replace the assemblies "OpenSilver.Compiler.dll", "OpenSilver.Compiler.Common.dll" in the "src/packages/OpenSilver./tools/" (or "src/packages/OpenSilver.UWPCompatible./tools/" if you are working with the UWP configuration) folder.

  5. Delete bin/obj: Make sure to remove the "bin" and "obj" folders, if any. They can cause issues when building using the ".bat" files.

  6. Launch Developer Command Prompt: Open the "Developer Command Prompt for VS 2019" (or newer) from your Start Menu

  7. Run the compilation .BAT: Launch the file "build-nuget-package-OpenSilver-private.bat" (or "build-nuget-package-CSHTML5-private.bat" depending on whether you are using OpenSilver or CSHTML5) and enter today's date or any other unique identifier to use for the version number (eg. 2021-10-12)

For convenience, instead of building the whole packages as instructed above, you can alternatively build only the Runtime DLL, To do so, open the solution file "OpenSilver.sln" or "CSHTML5.sln" (depending on whether you are using OpenSilver or CSHTML5), choose the appropriate "Solution Configuration" (see below)

Note: while rarely needed, there is also a .BAT file for building the Simulator package

What are those solution configurations?

OpenSilver configurations:

  • SL: Uses the Silverlight-like dialect of XAML.
  • UWP: Uses the UWP-like dialect of XAML.

CSHTML5 configurations:

  • Debug: Uses the UWP-like dialect of XAML.
  • Migration: Uses the Silverlight-like dialect of XAML.

Note: the legacy "WorkInProgress" configurations have been removed as the unimplemented members have been merged into the current configurations.

What if I get a compilation error with the code in this repository?

If you get a compilation error, it may be that a Visual Studio workload needs to be installed. To find out, please open the solution "OpenSilver.sln" or "CSHTML5.sln" and attempt to compile it with the Visual Studio IDE (2019 or newer).

If you are compiling using the Command Prompt, please double-check that you are using the "Developer Command Prompt", not the standard Command Prompt, and that the current directory is set to the "build" directory of this repository, because some paths in the .BAT files may be relative to the current directory.

If you still encounter any issues, please contact:

About

This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - ivoryguard/OpenSilver: This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it. · GitHub
Skip to content

Repository files navigation

This repository contains the source code of the 2 following products, which share most of their code:

  • OpenSilver (www.opensilver.net) → It compiles C#/XAML/.NET to WebAssembly/HTML/CSS (Free, Open Source, MIT Licensed)
  • CSHTML5 (www.cshtml5.com) → It compiles C#/XAML/.NET to JavaScript/HTML/CSS (Dual Licensed)

The main branches are:

  • develop: this branch is where day to day development occurs
  • master: this branch corresponds to the version of the packages that are on Nuget.org

How to download the software and get started?

Read the "Getting Started" page of the OpenSilver documentation for a step-by-step tutorial.

Basically, you should download the .VSIX file (the extension for Microsoft Visual Studio) which installs the Project Templates:

Then, launch Visual Studio, click "Create a new project", and choose one of the installed templates.

After creating the project, you may then want to update the NuGet package to reference the very latest version (note: in the NuGet Package Manager, be sure to check the option "include pre-releases", otherwise you may not see the latest package version).

How to build the source code in this repository?

  1. Update Visual Studio: Make sure you are using the very latest version of Visual Studio 2019. To check for updates, please launch the Visual Studio Installer from your Start Menu.

  2. Clone the repo: Clone this repository locally or download it as a ZIP archive and extract it on your machine

  3. Run the restoration .BAT: Execute the .BAT file "restore-packages-opensilver.bat" (or "restore-packages-cshtml5.bat" depending on whether you are using OpenSilver or CSHTML5)

  4. (Optional) Update OpenSilver compiler assemblies: OpenSiler has a dependency on an older version of OpenSilver to convert xaml files to C#, which is retrieved by the restore batch file (from 3.). Due to continous updates, this restored version can sometimes have outdated OpenSilver compiler assemblies which might cause unexpected compilation or runtime errors. To fix this, you should rebuild the Compiler.OpenSilver project and replace the assemblies "OpenSilver.Compiler.dll", "OpenSilver.Compiler.Common.dll" in the "src/packages/OpenSilver./tools/" (or "src/packages/OpenSilver.UWPCompatible./tools/" if you are working with the UWP configuration) folder.

  5. Delete bin/obj: Make sure to remove the "bin" and "obj" folders, if any. They can cause issues when building using the ".bat" files.

  6. Launch Developer Command Prompt: Open the "Developer Command Prompt for VS 2019" (or newer) from your Start Menu

  7. Run the compilation .BAT: Launch the file "build-nuget-package-OpenSilver-private.bat" (or "build-nuget-package-CSHTML5-private.bat" depending on whether you are using OpenSilver or CSHTML5) and enter today's date or any other unique identifier to use for the version number (eg. 2021-10-12)

For convenience, instead of building the whole packages as instructed above, you can alternatively build only the Runtime DLL, To do so, open the solution file "OpenSilver.sln" or "CSHTML5.sln" (depending on whether you are using OpenSilver or CSHTML5), choose the appropriate "Solution Configuration" (see below)

Note: while rarely needed, there is also a .BAT file for building the Simulator package

What are those solution configurations?

OpenSilver configurations:

  • SL: Uses the Silverlight-like dialect of XAML.
  • UWP: Uses the UWP-like dialect of XAML.

CSHTML5 configurations:

  • Debug: Uses the UWP-like dialect of XAML.
  • Migration: Uses the Silverlight-like dialect of XAML.

Note: the legacy "WorkInProgress" configurations have been removed as the unimplemented members have been merged into the current configurations.

What if I get a compilation error with the code in this repository?

If you get a compilation error, it may be that a Visual Studio workload needs to be installed. To find out, please open the solution "OpenSilver.sln" or "CSHTML5.sln" and attempt to compile it with the Visual Studio IDE (2019 or newer).

If you are compiling using the Command Prompt, please double-check that you are using the "Developer Command Prompt", not the standard Command Prompt, and that the current directory is set to the "build" directory of this repository, because some paths in the .BAT files may be relative to the current directory.

If you still encounter any issues, please contact:

About

This repository contains the source of both OpenSilver and CSHTML5. More information is available at: www.opensilver.net and www.cshtml5.com - Read README.md for the instructions on how to build the source code and how to test it.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages