From the Html Agility Pack download, which one of the 9 "HtmlAgilityPack.dll" do I use? - html-parsing

There are nine folders in the downloaded zip file for HTML Agility Pack:
Net20
Net40
Net40-client
Net45
sl3-wp
sl4
sl4-windowsphone71
sl5
winrt45
I do not know what these folder names mean. Please explain which one I need in order to scrape data from html files using VS2010.
Please explain where I should put the files.

The different versions are compiled against different .NET framework versions. Some frameworks, such as the WinRT or the Silverlight frameworks, have more limited functionality or require slightly different (and often slower) approaches to implement the features of the component you're using.
You will want to use the HTML Agility Pack version that best matches your applications. So:
net20: .NET 2.0 and 3.5
net40-client: .NET 4.0 client profile
net40: .NET 4.0 full profile (incl server binaries)
net45: .NET 4.5
sl3-wp: Windows Phone 7.0
sl4: Silverlight 4.0
sl4-windowsphone71: Windows Phone 7.5
sl5: Silverlight 5.0
winrt45: Windows 8 Modern UI App
When you want to use the component with multiple apps, choose the lowest common denominator.

Related

Can i edit a .NET 6 Console C# project in .NET 4.7.2?

I used to program in .NET 4.7.2 (and still do), but my High School uses .NET 6
Currently we have started using C# console in .NET 6
I don't want to update to .NET 6 because i would also have to change my Unity editor version to one that supports VS2022
Is it possible to open .NET 6 projects in .NET 4.7.2, or am i gonna have to update Unity and reinstall VS, while scouring every part of my C:// partition to clean up junk/leftovers? I am very tight on free space especially on C://
No, you can't (if you mean anything more then editing text, cause for this you can use even notepad). But depending on language features used potentially you can copy-paste code into a .NET Framework 4.7.2 project and compile it. Or not, cause at least some newer features are not supported by older framework version.
Also you don't need full blown VS upgrade. You can look into installing just the .NET 6 SDK and VS Code (which requires less space compared to VS 2022).
Though I hugely recommend to extend your disk.

using .NET Standard 2.1 with UWP

I made the big mistake of taking some NuGet library updates today. It forced me to either roll back a week's worth of work or upgrade to ASP .NET Core 3.0. I hate to use stuff that's not production, but I didn't want to untangle the libraries either, so I upgraded. Then it forces me to retarget .NET Standard 2.1 libraries. Which I did.
My problem now is with the client UWP code. When I try to compile, I get:
error : Project '..\ClassLibrary1\ClassLibrary1.csproj' targets 'netstandard2.1'. It cannot be referenced by a project that targets 'UAP, Version=v10.0.10586'.
This happens even with a virgin UWP and .NET Standard 2.1 library. Any clues on how to make Visual Studio 2019 client code work with the latest upgrade?
All Windows 10 SDKs currently don't support .NET Standard 2.1.
Windows 10 19H2 is using the same SDK number as 19H1, so it is unlikely that it will support .NET Standard 2.1. (But I certainly hope it does.)
Microsoft hasn't made an official announcement, but Windows 10 20H1 is getting a meaningful SDK update, so it is likely that it will support it. And once that's the case, UWP apps will require 20H1 to run (so that will become the minimum supported version).
One of the big issue with this situation is that Entity Framework Core 3.0 requires .NET Standard 2.1, so it can't be used in UWP apps for now (Update: This issue is resolved with Entity Framework Core 3.1 supporting .NET Standard 2.0).
By the way, as an experiment, I was able to fork Entity Framework Core 3.0 (for SQLite) and make it compile on .NET Standard 2.0. I basically had to manually copy a few new APIs from .NET Core 3.0 (like IAsyncXXX). And it worked, so it is an option for people who really need it. Note that, I did not try it with the SQL Server provider.
Update: The UWP team is planning to enable UWP apps to use .NET 5 and that's when UWP will support .NET Standard 2.1 (and more). This could happen in 20H2 or 21H1.
UWP does not support .Net standard 2.1 yet. It only support till .Net standard 2.0 and that too from windows 1709 onwards.
If you look at the link for 2.1 it states
Platform Support
An upcoming version Universal Windows Platform
so it may be 19H2
UPDATE
Microsoft is going to release a new framework called WinUI 3, this is going to support UWP as well as Win32 based application model. WinUI 3 would support .Net 5 for both the platforms. WinUI 3 preview is going to be available in mid May 2020, with final release in late 2020. WinUI 3 would be supported on windows 10 1803+.

What is the "current" Delphi web app framework?

I'm looking at Delphi web server apps, and the first thing I notice when I go into the New Items dialog is that there are several different frameworks.
WebBroker looks the nicest from a conceptual standpoint, but in the documentation it looks like its DB and session-management code is tied to the BDE, which makes it somewhat less than useful today.
WebSnap looks very similar, but the documentation says it's deprecated and IW ("VCL for the Web") should be used instead.
So I look at IW, and I can't make heads or tails of how it's supposed to work. The sample code is full of stuff that looks like it belongs in a desktop app, like clicking a button to fire an event handler to change the caption of a form element. (Wouldn't that have to be done client-side in JavaScript if we're creating a webpage?)
So what's the current standard framework for building a web server in Delphi?
While there are several commercial options available for writing web apps with Delphi, in my opinion Delphi no longer ships with a modern web development solution included as part of the package.
If I had to give an answer to your question though I would say that the current out of the box Delphi web framework is WebBroker. WebBroker is the only web framework included with Delphi that isn't deprecated or restricted in its functionality.
WebBroker was introduced perhaps as far back as Delphi 4. It's a good honest work horse but it hasn't really been improved much since it was first introduced. It leaves you to do most of the heavy lifting but it also doesn't get in your way. WebSnap and IntraWeb were built using WebBroker as their foundation which gives you idea of the level of services it provides.
A full version of IntraWeb has been bundled with Delphi Enterprise for many years but as of Delphi XE it now has several limitations (no SSL, no ISAPI deployment, 20 minute idle timeout) that will very likely mean you'll need to buy a license from AtoZed to use it seriously.
The version of IntraWeb bundled with Delphi Pro has always been far too limited to be considered anything other than an evaluation version.
Old question but still deserves an up-to-date answer.
Current 'settled in' solutions are:
IntraWeb:
https://www.atozed.com/intraweb/
uniGUI:
http://unigui.com/
Introduction
uniGUI Web Application Framework extends Web application development experience to a new dimension. uniGUI enables Delphi developers to create, design and debug web applications in IDE using a unique set of visual components. Each component is designed to provide same functionality of its counterpart visual component in Delphi VCL. This provides a very comfortable development environment very close to native VCL application development with an easy learning curve. uniGUI Web applications can be deployed to a server using one of the available deployment options such as Windows Service, Standalone Server or ISAPI Module.
Product Highlights:
Based on industry's most advanced JavaScript library Sencha Ext JS.
Includes OEM license for Sencha Ext JS. (Please see licensing for details).
A unique platform to create stateful web applications.
Complete IDE support for creating projects, designing forms, frames and handling data modules.
Advanced support for scripting client side JavaScript events.
Library core is fully optimized to achieve highest level of scalability.
Including advanced Stress Test Tool utility.
Comes with various deployment options: ISAPI Module, Standalone Server and Windows Service.
Supported Delphi versions: Turbo Delphi Pro, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, XE2, XE3, XE4, X5, XE6, XE7, XE8, Delphi 10 Seattle, 10.1 Berlin, 10.2.3 Tokyo and 10.3.3 Rio (Win32 & Win64 platforms). (Linux support is in the roadmap)
C++ Builder supported.
Supported Browsers: IE 9+, Microsoft Edge, FireFox, Chrome, Safari and Opera
New state-of-the-art uniGUI HyperServer technology.
TMS WebCore:
https://www.tmssoftware.com/site/tmswebcore.asp
RADical Web
Modern SPA web application model
Pure HTML5/CSS3/Javascript based applications
Standard component framework for common UI controls and access to browser features
Debugging in Pascal code via the browser
Backed by a solid & proven Delphi Pascal to Javascript compiler that was years in development
Reuse skills and components Component based RAD development integrated
in the Delphi IDE A truly revolutionary & innovative TMS FNC component
framework that is now also web enabled, allowing to create UI controls
that can be used on VCL, FMX, LCL and WEB! Open to consume other
existing Javascript frameworks & libraries Open to use HTML/CSS for
design Open to use other jQuery controls or even other Javascript
frameworks Offers Pascal class wrappers for jQuery controls from the
jQWidgets library Easy interfacing to REST cloud services including to
TMS XData for database
Easy Deployment Application consists of HTML & Javascript files only
that can be easily deployed on any light or heavyweight webservers Use
any existing load-balancing software and/or techniques for highest
performance Small and convenient debug webserver is included for fast
RAD development
http://docwiki.embarcadero.com/RADStudio/en/DataSnap_Overview_and_Architecture
DataSnap has been there for a long time, and the latest releases is DCOM-free. You can utilize it to build up server side piece (S in both C/S and B/S). Its current role is almost like WCF in .NET world.
Then if you are building a web site front end, you can use IW. But DataSnap makes it even possible to build up front end using PHP or other web technologies.
https://github.com/relativ/pascalweb
PascalWeb use pascalscript compiler , you can create web app, like php or python

ASMX in Delphi Studio

I recently bought Bob's book Delphi XML, SOAP & Web Services
in page 85 of this book the (Delphi 2006 8used) comes with several New Item Categories such as
C# Projects
C++ Builder projects
Delphi for .NET Projects
something that you don't have in a fresh installation
I need this ASP.NET Web Service Application that is inside Delphi for .NET Projects, but I can't find how do we get this plugin(?) to install in Delphi so we get all this new projects categories.
Does any of you use this and can tell me what is the Plugin?
image from the book showing what we are after
alt text http://www.balexandre.com/temp/2009-08-31_1322_asmx_in_delphi.png
We tried Delphi prism but it is not that as Prism works in Visual Studio it self and not in Delphi Studio.
We also tried to send an email to Bob Swart but no answer from him :(
We thought and we own RAD Studio 2007 Professional, and that comes with that Delphi for .NET Projects but not the ASP.NET Web Services, so, we are thinking that it only be available for the Enterprise or Architect versions, but I can't find any information regarding where is this (bundle details and what's inside what) :(
Thanks
The Delphi.Net functionality was removed after Delphi 2007, so I am not sure why you do not see the project type. But as Delphi.Net is a pretty dead technology it would probably make sense to look for an alternative for .Net development like Delphi Prism or C#.
Actually, since Delphi 2007, the functionality has been split into three different product, plus a fourth studio product. There's Delphi for WIN32 which includes C++ and Delphi for .NET which includes C# and ASP.NET. And then there's the Developers Studio which combines these development systems into one product. There are also products called Turbo Delphi, Turbo C++, Turbo C# and Turbo Delphi for .NET.
To be honest, Borland/Codegear/Embarcadero is trying to find the most popular combinations of these products making it very unclear for developers to choose the right version. Now we have Delphi Prism for .NET which integrates in Visual Studio, plus Delphi and Delphi for .NET or whatever. Anyway, I stopped upgrading Delphi since I bought Developer Studio 2007 simply because they're making a big mess of their marketing strategy.
Plus, they're becoming too expensive. For .NET development, Visual Studio will provide plenty of options already, especially when designing web applications. I will upgrade once the price becomes reasonable again and their marketing strategy becomes more normalized. I fear it will be a cold day in Hell when that happens.
You're probably using just the WIN32 version, not the Studio version which would combine both. Or you just installed the WIN32 and not the .NET part! Or, with Delphi 2007, you just start the WIN32 identity, not the whole Studio identity. (Delphi will install multiple icons, one for Delphi/WIN32, one for C++, one for C#/.NET and one for the complete studio.)
Just adding that I myself use the RAD Developer Studio 2007 and it does contain the ASP.NET Web Services. Just make sure you've included them during installation!
Got it.... (finally)
The best way to integrate Delphi code in a .NET output (in my case ASP.NET Web Services) is to download Delphi Prism (free trial version for evaluation) and use it.
File > New Website > ASP.NET Web Service > Language: Oxygene > Choose the required Framework
alt text http://www.balexandre.com/temp/2009-09-01_0857.png
This will create a normal ASMX Web Service with the .pas file as the Code Behind :)
Exactly what I'm after!

Is it possible to run ASP.NET MVC 1.0 web apps on Mono 2.4.x?

I have searched various online resources and found conflicting information about the possibility of ASP.NET MVC 1.0 web apps running against the latest build of Mono (2.4.x). According to the Mono site, ASP.NET 2.0 is supported. According to Microsoft, ASP.NET MVC 1.0 requires the 3.5 version of the framework. From what I've read, ASP.NET 3.5 makes use of the 2.0 framework under the hood.
Has anyone got an ASP.NET MVC 1.0 web app running on Linux with Apache using mod_mono ?
Thanks
Yes, though you'll want to update the latest bugfix release for best compatibility. Note that Mono 2.4.2.3 actually includes the real ASP.NET MVC library, which was open-sourced by Microsoft under the MS-PL license.
The relationship between .NET and Mono version numbers is very complicated, as there is no direct mapping between .NET versions and features that Mono has implemented. .NET versions aren't exactly straightforward either, as 3.0 was simply additional assemblies added to the 2.0 framework, and similarly, 3.5 is additions to the 2.0SP1 framework - and the 3.5 assemblies do not depend on the 3.0 ones.
Mono features are driven by demand, using data collected using the Mono Migration Analyser.
For example, Mono has supported core .NET 2.0 features like generics since 2005 or so, but only with Mono 2.0 were the Windows Forms 2.0 and ASP.NET 2.0 components considered feature-complete - except for Web Parts, which will likely never be implemented due to low demand. And there are a couple of very Windows-specific features, like System.Management, which will also likely never be implemented as they simply cannot be mapped to non-Windows systems. Apart from such caveats, 2.0 support is now very complete.
Mono 2.0 also included full C# 3, LINQ-to-objects and LINQ-to-XML support, which are features from the .NET 3.5 framework. With Mono 2.4, the ASP.NET 3.5 features are essentially feature complete, and the only major missing 3.5 feature is LINQ-to-SQL, which should be in Mono 2.6. However, there's still no support for the .NET 3.0 assemblies - WCF, WPF, WF. WCF is being worked on but there are no plans for WPF at this time - some degree of WPF compatibility is provided via Moonlight, the Silverlight implementation.

Resources