Support for ASP.NET WebForms ("aspx") in Fire

When Oxygen is selected I see the “Classic ASP.NET” template, which I guess is ASP.NET WebForms. Anyhow, the template seems to create an empty project (= no files at all).

What would be great is when I would be able to create/maintain WebForms (“aspx”, active server pages) on macOS in Fire.

It doesn’t matter in which language that would be, but Oxygen/Mercury would have my preference.

Odd. thats templates should be hidden, given it’s currently not supported. will fix.

Would you be mostly interested in client-built ASP.N ET where you upload a .dll, or server-built “web site” projects where you have a loose collection of .aspx and (say) .pas files, upload this to the server, and IIS takes care of the rest?

I’m asking because I have experimental support for the latter (I use it myself, for our website; in fact thats that main reason I added it ;). While support for the former is unlikely to ever come because I’d essentially have to re-implement large parts of a (legacy) tool chain for processing .asps, all by myself in EBuild (for very little demand and, again, something that’s legacy and all not gain more domain in the future)…

What we have now does work with all 6 languages, of course.

This, If I understand you correctly. So a bit like PHP works. So if I would want to make a small edit on some aspx or code-behind file, then I could just edit that on the server, without having to re-compile anything.

If that’s what you mean, then yes, that’s what I want. Does it then also support other code files, like class files that would compile to Asp_Code?

Yes, I saw that, so that’s why I dared to ask for it :wink:

You can use this now. the tricky/manual part is getting the “project” into your solution. Edit you’re .sln file to add a project like this:

Project("{D7F5FCA5-08BC-44E5-8A3A-60BF2B79FCCC}") = "Site\", "Site\", "{6334D709-84F9-4BFA-9156-20DD798F17B1}"

Where “Site” is the folder with your ASP.NET page’s root. The name doesn’t matter, whats special is the "magic {D7F5FCA5-08BC-44E5-8A3A-60BF2B79FCCC} project type guid.

What will work?

  • Flre will show all the files in that folder, recursively. (currently, at the time of land, it doesn’t auto-refresh when files change in disk, but you can right-click a folder to refresh it.
  • Fire will detect references in ./Bin and in ./Web.config
  • Code smarts will work in all source files (eg App_Code, .aspx.pas), but not (for now) inline in .aspx & co I(though highlighting does).
  • some special editor support: % and = surround a selection with <% %> and <%= %>respectively; Ctrl-> at end of line will surround entire line with<% %>`
  • Fire will detect a handful of settings in Web.config, mainly to enable remote Publishing
  • If remote publishing is active, Cmd-S will send all changed files to the server via SFTP/SSH (Build log shows details/errors) – you can manually right-click a file and select “Mark file for publishing”, to add it to that queue
  • Cmd-B will be ignored, as there’s noting to build.

Add this section to your web.config to enable publishing:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    ...
    <fire.projectSettings>
        <UsePublishing>True</UsePublishing>
        <PublishingServer>website.remobjects.com</PublishingServer>
        <PublishingFolder>/D:/WEBSITES/remobjects.com/staging</PublishingFolder>
        <PublishingUser>WebSite</PublishingUser>
    </fire.projectSettings>

(Fire assumes your default ssh key will work to authenticate with he SFTP server

Let me know ow it goes, feedback appreciated!

—marc


full .sln:


Microsoft Visual Studio Solution File, Format Version 12.00
# RemObjects Fire
Project("{D7F5FCA5-08BC-44E5-8A3A-60BF2B79FCCC}") = "Site\", "Site\", "{6334D709-84F9-4BFA-9156-20DD798F17B1}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|AnyCPU = Debug|AnyCPU
		Release|AnyCPU = Release|AnyCPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{6334D709-84F9-4BFA-9156-20DD798F17B1}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
		{6334D709-84F9-4BFA-9156-20DD798F17B1}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
		{6334D709-84F9-4BFA-9156-20DD798F17B1}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
		{6334D709-84F9-4BFA-9156-20DD798F17B1}.Release|AnyCPU.Build.0 = Release|AnyCPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal

Site.sln.zip (876 Bytes)

1 Like

Thank you! That may work for me. I’ll test this in the coming weeks and inform about my experience.

1 Like