Since the question was repeated here:
https://wisej.com/support/question/does-wisej-4-0-support-vb-net
The complete detailed answer is also there. The answer is: Yes it does support ASP.NET Core and it can publish it using the Visual Studio publishing tools without any issue. Steps, screenshots and example attached the linked issue.
The first question and subject is “Does Wisej 4.0 Supports VB.NET?”
The answer is Yes, and, Wisej.NET has nothing to do with the .NET compiler. It supports anything that compiles to .NET.
Then you said you couldn’t find a way to create a VB.NET application “Where can I find examples/templates for VB.NET Wisej.NET 4? Or for that matter for Wisej.NET 3.5?”
The answer is that they are in Visual Studio. It’s enough to click New Project. But apparently you already knew that since you are clearly able to create a VB.NET application with Wisej.NET and run it. “My Visual Studio has the same, but if you actually create even a “Hello World” application, compile it, and try to publish it, in my experience, you can’t create a CORE application. If you see otherwise, please advise me how you are able to accomplish this. Thanks again.”
Your third issue is that you can’t create a CORE application?
This runs a VB.NET Core ASP.NET application with Wisej.NET. (see screenshot)
Then your problem is that you can’t publish it?
The publishing tool in VS is Microsoft and publishing any ASP.NET Core application has nothing to do with the language that was used to create it. So VB.NET doesn’t play any role in this. There are hundreds of pages of documentation around explaining how ASP.NET Core works and how to publish.
In any case, after following the steps 1,2,3 above. Right Click on the project and select Publish. You get to the publishing tool in Visual Studio (again, a Microsoft product). See screenshot. Create a publish profile. See screeshot. Select the target (net9.0 or net8.0, or net 10.0), select Release, select the target location, if you are publishing to a directory, hit Publish!
Now you have a published directory. Open the command prompt to that directory and type “dotnet MyApp.dll” and it runs. Open the browser navigate to http://localhost:5000 and it works.
If you publish on Azure, you need an Azure account. Any publishing can also be done using the command line, i.e. “dotnet publish –configuration Release –output “C:\MyPublishedApp” (from google AI)
If you publish on IIS you need to install IIS correctly (needs the ASP.NET Core package, etc. Refer to Microsoft it’s too long to explain here) and edit web.config as indicated in the comments and in the Microsoft documentation.
Everything worked without a glitch.
More than this, I can’t help.
I know it isn’t a compiler, and it is GREAT that Wisej.NET supports VB.NET! 🙂
Where can I find examples/templates for VB.NET Wisej.NET 4? Or for that matter for Wisej.NET 3.5?
Microsoft supports VB.NET on all versions of .NET including netcore.
Wisej.NET is not a compiler. Anything that compiles to .NET (including COBOL on .NET) works with the Wisej.NET framework.
You have to ask Microsoft. I think they dropped it.
I was able to reproduce the problem with the example I am attaching.
The data is loaded the first time, then if I delete it and empty the entire data source and try to reload the datarepeater, the data is no longer loaded.
I tried and I cannot reproduce. See attached sample of a DataRepeater with databinding that works fine in 4.0.3.
Can you please wrap up a small sample that demonstrates the issue? Delete the bin and obj folders before posting.
I downloaded the Wisej 4 examples and started the KeyboardHandling app as a simple app to try to get my publishing problem resolved.
It is defined as:
Output type: Console Application
Target Frameworks:
net8.0
Absolutely, no changes from the downloaded .zip file…
Hi Rusty,
Are you targeting .net9.0 instead of .net9.0-windows?
Best,
Alaa
Hi Luca,
Thanks you for your answer!
My solution was to re-register all registered services with the Wisej service provider with the appropriate lifetime (eg. scoped -> session) using a foreach, and then register the IServiceProvider as well.
It was just a few lines of code and generic enough to be used in other solutions.
After this, all my services worked and Wisej DI was able to resolve every dependent service.
There might be a better solution. Do you know a better solution? Do you see a problem with my solution?
best regards,
Csaba
Microsoft DI only supports scoped, transient and singleton. There is no concept or support for sessions. Scoped means that you get a new service instance for each http request through the aspnet core razor middleware.
Wisej.NET service container instead supports session, transient, shared (singleton) and thread (kind of similar to scoped).
Since there are no http requests in Wisej.NET, being a fully ajax system and not using the page routers, postbacks, etc there is no concept of “sccoped”. If you want to share a service instance use a singleton.
Or use the Wisej.NET service container which works properly for the wisej application with the correct lifetime.
I followed your advice to the letter.
Still no happiness. I am now receiving an error IIS 502.5 Error Process Failure.
I’ve attached images of my deployment hoping you might spot an error of my ways and point it out to me.
I also changed the application by following the Wisej video whereby the person installed Wisj into the VS 2022, and then created a “YoutubeDemonstration” application, compiled and web deployed it. (I had to add the Wisej DLLs you mentioned as they did not deploy with the app)
Web.config
<?xml version=”1.0″?>
<!–
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
–>
<configuration>
<appSettings>
<add key=”Wisej.LicenseKey” value=”xxxxxxxxx licensse removed xxxxxxxxxxxxxxxx”/> ‘WHICH ONE SHOULD I USE? Maybe this is an issue?
<add key=”Wisej.DefaultTheme” value=”Bootstrap-4″/>
</appSettings>
<system.web>
<compilation debug=”true” />
<httpRuntime targetFramework=”4.8″ maxRequestLength=”1048576″/>
<httpModules>
<add name=”Wisej” type=”Wisej.Core.HttpModule, Wisej.Framework”/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration=”false”/>
<handlers>
<!–
Uncomment the aspNetCore handler below to deploy to IIS when using .NET Core.
–>
<add name=”aspNetCore” path=”*” verb=”*” modules=”AspNetCoreModuleV2″ resourceType=”Unspecified” />
<add name=”manifest” verb=”GET” path=”manifest.json” type=”System.Web.StaticFileHandler” />
<add name=”json” verb=”*” path=”*.json” type=”System.Web.HttpForbiddenHandler” />
<add name=”wisej” verb=”*” path=”*.wx” type=”Wisej.Core.HttpHandler, Wisej.Framework”/>
</handlers>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength=”1073741824″/>
</requestFiltering>
</security>
<defaultDocument enabled=”true”>
<files>
<add value=”Default.html” />
</files>
</defaultDocument>
<!–
Uncomment the aspNetCore section below to deploy to IIS when using .NET Core.
–>
<aspNetCore stdoutLogEnabled=”false” hostingModel=”InProcess” processPath=”bin\Debug\net8.0\YouTubeDemonstration.exe” arguments=”” />
</system.webServer>
<!–
Uncomment the trace listener below to enable logging to a log file.
–>
<!–
<system.diagnostics>
<trace autoflush=”true” indentsize=”4″>
<listeners>
<remove name=”Default” />
<add name=”Default” type=”System.Diagnostics.TextWriterTraceListener” initializeData=”Trace.log” />
</listeners>
</trace>
</system.diagnostics>
–>
</configuration>
That error means your Wisej.NET runtime assemblies (like Wisej.Framework.dll) were not copied to your MochaHost server.
After publishing locally, open your publish folder and make sure these dlls exist in the bin folder:
Wisej.Framework.dll
Wisej.Web.Ext.*.dll (if you used any extensions)
Wisej.Hybrid.dll (for UserDesktop)
In your .csproj, ensure Wisej references are set with:
<PackageReference Include=”Wisej-3″ Version=”3.5.*” />
and not as <Reference Include=”Wisej-3″ />.
Then in the Publish Profile (.pubxml), confirm this property exists:
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
That forces the Wisej assemblies to be published to the server.
Hope this helps,
Julie
Hi Gabriele,
Thank you for reporting this bug!
It’s currently fixed internally and will be added in a future release!
Best,
Alaa
I can reproduce, we’ll look into this.
-Julie
Unfortunately, the ProgressBar control in Wisej.NET does not currently implement the marquee animation behavior built into WinForms. The ProgressBarStyle.Marquee enum is included for compatibility purposes, but not wired to a property.
Julie
I can reproduce, we’ll look into this.
-Julie
Wisej.NET applications are standard ASP.NET apps on net48 and standard ASP.NET Core apps on netcore.
Are you deployment net48 or netcore?
Are you deployment on IIS?
On Azure App Service?
On a Web Hosting service?
If it’s netcore, are you deploying on Windows or Linux (this wouldn’t be IIS)?
You can follow any step-by-step guide published by Microsoft for either system: ASP.NET or ASP.NET Core.
Or follow the steps here:
https://docs.wisej.com/deployment/targets/iis
There are 2 sections: .NET Core and .NET Framework. The first (.NET Core) has 2 options: InProcess or OutOfProcess. This is all Microsoft stuff.
If you followed those steps and you are publishing on IIS, post here:
This is a sample of what it should look like on IIS for net48
/Default.html
/Default.json
/Web.config
/bin/Wisej.Framework.dll
/bin/MyApp.dll
This is the minimum on net48 on IIS.
For netcore you need the same files but you also need to uncomment and edit the ASP.NET Core section in web.config and install a native IIS app pool and a special IIS module: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-9.0
It’s called .NET Hosting Bundle Installer.
And make sure all the modules are installed, see screenshot in the deployment guide. You may also want to enable the WebSocket Protocol.
None of this is specific to Wisej.
Hello,
This forum is for Wisej.NET support. PPJ users with a valid PPJ license should contact support at: support AT wisej.com
Please email support and include a small test case showing what you’re trying to do. Delete the bin and obj folders before attaching the test case in order to make the file size smaller.
-Julie
