cross-compile ASP.NET website to desktop?











up vote
1
down vote

favorite
1












Is there a way to cross-compile or port an ASP.NET based webpage to a native Windows GUI?



I am developing a web app, with an ASP.NET webservice doing much of the grunt work, and an ASP.NET webpage as the GUI. I would like to also offer an "offline" version of the app that doesn't require teaching random people how to manage IIS. Some of my target users will not have internet access consistently when they want to use the app; also, I like not having to rely on an active web connection myself because I'm an old fogey and this web 2.0 stuff is just a fad, right?



The core of the app logic is a library that is disassociated from everything else - the service just provides an API (which I want publicly available for others to use), and that I use for my own app. I could go ahead and design a new GUI in WPF or WinForms, import my libraries and there you go, but I'm lazy enough that I'm curious if there's an automated solution. Or even a semi-automated solution.



If I can target not-Windows as well, that would be nice. I already have a console interface that I used in development of the core library that directly accesses them, which I'm still testing but should relatively easy to make work in WINE but if I can offer more support for offline use to non-Windows users I'd feel better.










share|improve this question


















  • 1




    If you design your application properly, the core business logic should be in a reusable class library. Then you can write any UI for it you want, including ASP.NET site, a UWP app with C#/XAM, an Electron app, Windows Forms or WPF....did you design your application properly?
    – mason
    Nov 8 at 18:37












  • @mason Yes, I did. But if I don't have to rewrite the UI either, that'd be nice :)
    – Emily Smirle
    Nov 9 at 1:35















up vote
1
down vote

favorite
1












Is there a way to cross-compile or port an ASP.NET based webpage to a native Windows GUI?



I am developing a web app, with an ASP.NET webservice doing much of the grunt work, and an ASP.NET webpage as the GUI. I would like to also offer an "offline" version of the app that doesn't require teaching random people how to manage IIS. Some of my target users will not have internet access consistently when they want to use the app; also, I like not having to rely on an active web connection myself because I'm an old fogey and this web 2.0 stuff is just a fad, right?



The core of the app logic is a library that is disassociated from everything else - the service just provides an API (which I want publicly available for others to use), and that I use for my own app. I could go ahead and design a new GUI in WPF or WinForms, import my libraries and there you go, but I'm lazy enough that I'm curious if there's an automated solution. Or even a semi-automated solution.



If I can target not-Windows as well, that would be nice. I already have a console interface that I used in development of the core library that directly accesses them, which I'm still testing but should relatively easy to make work in WINE but if I can offer more support for offline use to non-Windows users I'd feel better.










share|improve this question


















  • 1




    If you design your application properly, the core business logic should be in a reusable class library. Then you can write any UI for it you want, including ASP.NET site, a UWP app with C#/XAM, an Electron app, Windows Forms or WPF....did you design your application properly?
    – mason
    Nov 8 at 18:37












  • @mason Yes, I did. But if I don't have to rewrite the UI either, that'd be nice :)
    – Emily Smirle
    Nov 9 at 1:35













up vote
1
down vote

favorite
1









up vote
1
down vote

favorite
1






1





Is there a way to cross-compile or port an ASP.NET based webpage to a native Windows GUI?



I am developing a web app, with an ASP.NET webservice doing much of the grunt work, and an ASP.NET webpage as the GUI. I would like to also offer an "offline" version of the app that doesn't require teaching random people how to manage IIS. Some of my target users will not have internet access consistently when they want to use the app; also, I like not having to rely on an active web connection myself because I'm an old fogey and this web 2.0 stuff is just a fad, right?



The core of the app logic is a library that is disassociated from everything else - the service just provides an API (which I want publicly available for others to use), and that I use for my own app. I could go ahead and design a new GUI in WPF or WinForms, import my libraries and there you go, but I'm lazy enough that I'm curious if there's an automated solution. Or even a semi-automated solution.



If I can target not-Windows as well, that would be nice. I already have a console interface that I used in development of the core library that directly accesses them, which I'm still testing but should relatively easy to make work in WINE but if I can offer more support for offline use to non-Windows users I'd feel better.










share|improve this question













Is there a way to cross-compile or port an ASP.NET based webpage to a native Windows GUI?



I am developing a web app, with an ASP.NET webservice doing much of the grunt work, and an ASP.NET webpage as the GUI. I would like to also offer an "offline" version of the app that doesn't require teaching random people how to manage IIS. Some of my target users will not have internet access consistently when they want to use the app; also, I like not having to rely on an active web connection myself because I'm an old fogey and this web 2.0 stuff is just a fad, right?



The core of the app logic is a library that is disassociated from everything else - the service just provides an API (which I want publicly available for others to use), and that I use for my own app. I could go ahead and design a new GUI in WPF or WinForms, import my libraries and there you go, but I'm lazy enough that I'm curious if there's an automated solution. Or even a semi-automated solution.



If I can target not-Windows as well, that would be nice. I already have a console interface that I used in development of the core library that directly accesses them, which I'm still testing but should relatively easy to make work in WINE but if I can offer more support for offline use to non-Windows users I'd feel better.







asp.net windows desktop-application






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 8 at 16:41









Emily Smirle

188




188








  • 1




    If you design your application properly, the core business logic should be in a reusable class library. Then you can write any UI for it you want, including ASP.NET site, a UWP app with C#/XAM, an Electron app, Windows Forms or WPF....did you design your application properly?
    – mason
    Nov 8 at 18:37












  • @mason Yes, I did. But if I don't have to rewrite the UI either, that'd be nice :)
    – Emily Smirle
    Nov 9 at 1:35














  • 1




    If you design your application properly, the core business logic should be in a reusable class library. Then you can write any UI for it you want, including ASP.NET site, a UWP app with C#/XAM, an Electron app, Windows Forms or WPF....did you design your application properly?
    – mason
    Nov 8 at 18:37












  • @mason Yes, I did. But if I don't have to rewrite the UI either, that'd be nice :)
    – Emily Smirle
    Nov 9 at 1:35








1




1




If you design your application properly, the core business logic should be in a reusable class library. Then you can write any UI for it you want, including ASP.NET site, a UWP app with C#/XAM, an Electron app, Windows Forms or WPF....did you design your application properly?
– mason
Nov 8 at 18:37






If you design your application properly, the core business logic should be in a reusable class library. Then you can write any UI for it you want, including ASP.NET site, a UWP app with C#/XAM, an Electron app, Windows Forms or WPF....did you design your application properly?
– mason
Nov 8 at 18:37














@mason Yes, I did. But if I don't have to rewrite the UI either, that'd be nice :)
– Emily Smirle
Nov 9 at 1:35




@mason Yes, I did. But if I don't have to rewrite the UI either, that'd be nice :)
– Emily Smirle
Nov 9 at 1:35












1 Answer
1






active

oldest

votes

















up vote
2
down vote



accepted










You could run that web application on .NET Core in a self-hosted way. That way you get the full IIS feature set and there is no need for the user to configure anything.



You can then use a WebBrowser control to show the application as a GUI app, or just open the web site in the users installed browser.



.NET Core runs on non-Windows as well.






share|improve this answer





















  • Can .NET Core also run self-hosted on other operating systems? I thought IIS was restricted to Windows machines.
    – Emily Smirle
    Nov 9 at 1:41










  • @EmilySmirle .NET Core can run self hosted on any OS. IIS is preferred (but not required) on Windows.
    – mason
    Nov 9 at 1:56










  • @mason Well that's fantastic. I think that pretty much exactly fulfills my lazy-coder requirements - I don't have to re-do the GUI, and I get to learn a new system!
    – Emily Smirle
    Nov 9 at 2:14










  • @EmilySmirle You might have to redo the GUI. You said you had an ASP.NET site, but you didn't clarify what framework you're doing. If you used Web Forms, well that hasn't been ported to .NET Core (for excellent reasons). If you used MVC or an HTML page hitting Web API, then it shouldn't be too hard.
    – mason
    Nov 9 at 3:41











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53212291%2fcross-compile-asp-net-website-to-desktop%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
2
down vote



accepted










You could run that web application on .NET Core in a self-hosted way. That way you get the full IIS feature set and there is no need for the user to configure anything.



You can then use a WebBrowser control to show the application as a GUI app, or just open the web site in the users installed browser.



.NET Core runs on non-Windows as well.






share|improve this answer





















  • Can .NET Core also run self-hosted on other operating systems? I thought IIS was restricted to Windows machines.
    – Emily Smirle
    Nov 9 at 1:41










  • @EmilySmirle .NET Core can run self hosted on any OS. IIS is preferred (but not required) on Windows.
    – mason
    Nov 9 at 1:56










  • @mason Well that's fantastic. I think that pretty much exactly fulfills my lazy-coder requirements - I don't have to re-do the GUI, and I get to learn a new system!
    – Emily Smirle
    Nov 9 at 2:14










  • @EmilySmirle You might have to redo the GUI. You said you had an ASP.NET site, but you didn't clarify what framework you're doing. If you used Web Forms, well that hasn't been ported to .NET Core (for excellent reasons). If you used MVC or an HTML page hitting Web API, then it shouldn't be too hard.
    – mason
    Nov 9 at 3:41















up vote
2
down vote



accepted










You could run that web application on .NET Core in a self-hosted way. That way you get the full IIS feature set and there is no need for the user to configure anything.



You can then use a WebBrowser control to show the application as a GUI app, or just open the web site in the users installed browser.



.NET Core runs on non-Windows as well.






share|improve this answer





















  • Can .NET Core also run self-hosted on other operating systems? I thought IIS was restricted to Windows machines.
    – Emily Smirle
    Nov 9 at 1:41










  • @EmilySmirle .NET Core can run self hosted on any OS. IIS is preferred (but not required) on Windows.
    – mason
    Nov 9 at 1:56










  • @mason Well that's fantastic. I think that pretty much exactly fulfills my lazy-coder requirements - I don't have to re-do the GUI, and I get to learn a new system!
    – Emily Smirle
    Nov 9 at 2:14










  • @EmilySmirle You might have to redo the GUI. You said you had an ASP.NET site, but you didn't clarify what framework you're doing. If you used Web Forms, well that hasn't been ported to .NET Core (for excellent reasons). If you used MVC or an HTML page hitting Web API, then it shouldn't be too hard.
    – mason
    Nov 9 at 3:41













up vote
2
down vote



accepted







up vote
2
down vote



accepted






You could run that web application on .NET Core in a self-hosted way. That way you get the full IIS feature set and there is no need for the user to configure anything.



You can then use a WebBrowser control to show the application as a GUI app, or just open the web site in the users installed browser.



.NET Core runs on non-Windows as well.






share|improve this answer












You could run that web application on .NET Core in a self-hosted way. That way you get the full IIS feature set and there is no need for the user to configure anything.



You can then use a WebBrowser control to show the application as a GUI app, or just open the web site in the users installed browser.



.NET Core runs on non-Windows as well.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 8 at 19:34









usr

143k25184297




143k25184297












  • Can .NET Core also run self-hosted on other operating systems? I thought IIS was restricted to Windows machines.
    – Emily Smirle
    Nov 9 at 1:41










  • @EmilySmirle .NET Core can run self hosted on any OS. IIS is preferred (but not required) on Windows.
    – mason
    Nov 9 at 1:56










  • @mason Well that's fantastic. I think that pretty much exactly fulfills my lazy-coder requirements - I don't have to re-do the GUI, and I get to learn a new system!
    – Emily Smirle
    Nov 9 at 2:14










  • @EmilySmirle You might have to redo the GUI. You said you had an ASP.NET site, but you didn't clarify what framework you're doing. If you used Web Forms, well that hasn't been ported to .NET Core (for excellent reasons). If you used MVC or an HTML page hitting Web API, then it shouldn't be too hard.
    – mason
    Nov 9 at 3:41


















  • Can .NET Core also run self-hosted on other operating systems? I thought IIS was restricted to Windows machines.
    – Emily Smirle
    Nov 9 at 1:41










  • @EmilySmirle .NET Core can run self hosted on any OS. IIS is preferred (but not required) on Windows.
    – mason
    Nov 9 at 1:56










  • @mason Well that's fantastic. I think that pretty much exactly fulfills my lazy-coder requirements - I don't have to re-do the GUI, and I get to learn a new system!
    – Emily Smirle
    Nov 9 at 2:14










  • @EmilySmirle You might have to redo the GUI. You said you had an ASP.NET site, but you didn't clarify what framework you're doing. If you used Web Forms, well that hasn't been ported to .NET Core (for excellent reasons). If you used MVC or an HTML page hitting Web API, then it shouldn't be too hard.
    – mason
    Nov 9 at 3:41
















Can .NET Core also run self-hosted on other operating systems? I thought IIS was restricted to Windows machines.
– Emily Smirle
Nov 9 at 1:41




Can .NET Core also run self-hosted on other operating systems? I thought IIS was restricted to Windows machines.
– Emily Smirle
Nov 9 at 1:41












@EmilySmirle .NET Core can run self hosted on any OS. IIS is preferred (but not required) on Windows.
– mason
Nov 9 at 1:56




@EmilySmirle .NET Core can run self hosted on any OS. IIS is preferred (but not required) on Windows.
– mason
Nov 9 at 1:56












@mason Well that's fantastic. I think that pretty much exactly fulfills my lazy-coder requirements - I don't have to re-do the GUI, and I get to learn a new system!
– Emily Smirle
Nov 9 at 2:14




@mason Well that's fantastic. I think that pretty much exactly fulfills my lazy-coder requirements - I don't have to re-do the GUI, and I get to learn a new system!
– Emily Smirle
Nov 9 at 2:14












@EmilySmirle You might have to redo the GUI. You said you had an ASP.NET site, but you didn't clarify what framework you're doing. If you used Web Forms, well that hasn't been ported to .NET Core (for excellent reasons). If you used MVC or an HTML page hitting Web API, then it shouldn't be too hard.
– mason
Nov 9 at 3:41




@EmilySmirle You might have to redo the GUI. You said you had an ASP.NET site, but you didn't clarify what framework you're doing. If you used Web Forms, well that hasn't been ported to .NET Core (for excellent reasons). If you used MVC or an HTML page hitting Web API, then it shouldn't be too hard.
– mason
Nov 9 at 3:41


















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53212291%2fcross-compile-asp-net-website-to-desktop%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Schultheiß

Verwaltungsgliederung Dänemarks

Liste der Kulturdenkmale in Wilsdruff