Windows Workflow Foundation Part Of .net Framework 3.0 Must Be Installed

0 views
Skip to first unread message

Marketta Filipovich

unread,
Aug 5, 2024, 12:01:47 PM8/5/24
to calkatamti
Ive installed a complete SharePoint Server (MOSS) 2007 on my dev box + the latest Visual Studio (SP1) + the latest full Windows SDK. According to the Windows Workflow Foundation page -us/netframework/dd980558.aspx, that is all I should need to do to be able program against the .NET Workflow APIs.

And yet, all of the projects I build from the standard Workflow templates refer to the assembly System.Workflow and VS complains that that assembly isn't available. I've searched around on my hard drive, and I can't find a file for that assembly anywhere obvious on my disk.


I do find some files that look like they might be that assembly, but they're buried down in wacky places below particular applications like they are runtime support for that app. They don't seem to be what I'm supposed to point VS at.


Can anyone tell me how to fix this problem? Do I need to install something else that I have yet to come across? Are these assemblies already on my system and I just need to know how to point VS at them? I'm stumped.


I did a Repair using the .NET 3.5 SP1 SDK distributable, and I believe that this solved the problem. I thought at first that it didn't (as I say in prior comments) because I was looking for the files to show up in the v3.5 assembly directory. The missing files actually go in the v3.0 assembly directory. I later brought up one of the sample projects in VC and noticed that the symbols were now resolving, and sure enough, the missing .dll files were now present.


It's possible System.Workflow is a (badly named) SharePoint-specific DLL, in which case, sorry, the above won't help... try the SharePoint install directory or SharePoint SDK install directory. Are the project templates you're using SharePoint templates, or the ones from File > New Project > Visual C# > Workflow?


I have a same problem, and solved it. The reason is your project's target .net framework not include this assembly (it's maybe .net 3.5 client profile or 4.0 client profile). The solution is very simple: set the target framework of your project to .NET Framework 3.5 or 4.0.It work for me.


The Microsoft .NET development technology stack can be confusing to some, especially those who predominantly work with JavaScript frameworks or PHP. It gets even more confusing when one is told that there are two parallel development technologies, one that is cross-platform and open source and the older .NET framework that is still actively maintained and in use.


As you might have guessed from the name, the .NET framework is a development technology consisting of tools, libraries, languages, and other components needed to build applications. The .NET framework, unlike other modern technologies, is Windows-only and is still, by and large, the property of Microsoft even though some of its source code was made available under the Ms-RSL license.


The .NET Framework was the main application and web application development technology for Windows before the release of.NET Core. .NET Core later became .NET and is today the primary development technology in the Microsoft ecosystem. However, the .NET Framework is still in use and receives regular updates from Microsoft.


The Use of the Common Language Runtime (CLR) and Just in Time Compiler (JIT) allowed code execution in a safe, controlled, abstract environment. This and other features, such as language interoperability, automatic memory management, and class libraries, made the .NET framework quite popular in business software development.


One of the main reasons why Microsoft created the .NET framework was to have a software development platform that could work well with all Windows-based platforms. The .NET framework helped them achieve this objective while complying with industry standards such as the ECMA Common Language Specification (CLS) and ECMA Common Language Infrastructure (CLI).


The .NET Framework is mainly used to develop applications inside a Windows environment and for Windows desktop, CE, Windows Mobile, and Windows-based server operating systems. Developers use the framework to build applications that use WinForms and WPF- Windows Presentation Foundation UI libraries and database-connected applications using ADO.NET.


The framework also included libraries and tools for developing XML-based ASP .NET web applications and mobile applications for Windows devices. However, modern web developers have moved to .NET Core and NET 6 technologies like Blazor and Razor pages.


Every Windows operating system install comes with a .NET runtime environment needed to run software developed with the framework. However, developers who want to use the framework must download and install the Software development (.NET SDK) using Visual Studio or separately.


You can check the version of the .NET framework a computer runs programmatically using the RuntimeInformation.FrameworkDescription Property. This check is useful if you are developing an application and must test the installed framework before program execution. Insert the following code into your header to do the check:


The above code will return with the version of the .NET runtime installed on the client system. You can also do a manual version check using the Registry Editor or digging into the specific Windows DLL folder below.


The .NET framework comprises the common language runtime and the framework class library. Understanding how these two components are structured and how they work will help you know the strengths of the frameworks and what features it offers so that you can use them in your projects.


The .NET framework has a managed code execution component known as the common language runtime or CLR. In their .NET documentation, Microsoft defines the CLR as an agent that manages how programs written in the framework are executed and managed.


Tip: Thread management in multi-threaded application programming is an important feature or selling point for the .NET framework, especially if you are developing complex, high-performance, responsive native applications inside Windows. You can check Microsoft CLR thread management documentation to understand its inner workings.


The CLR has been a part of the .NET Framework since its release and is one of its most distinctive components. Software developers refer to the CLR as the application virtual machine, given that it facilitates running applications.


Application execution in the .NET Framework mainly happens in two stages under the Common Language Runtime. First, the CLR reads program code in C# or any other supported languages and converts them to an intermediate format called the common intermediate language code (CIL). Within the CLR is a sup-component called the Just in Time Compiler(JIT), which converts intermediate CIL into machine code for low level-processing.


The second essential component that makes up the .NET framework is the Framework Class Library(FCL). As the name suggests, the Framework Class Library contains all the important ready-to-use libraries or what modern developers call dependencies that you can use to develop all kinds of applications.


The framework supports language interoperability by default in line with the ECMA Language Specification. This means components written in one language can interact or connect with components written in a different programming language inside a .NET Framework application.


From the outside looking in, the .NET framework might appear like one large software development framework. However, the .NET framework is a multifaceted and heterogeneous framework with several components. Here are some of the main ones:


Modularity in the NET framework allows developers to easily build and deploy small and efficient solutions. You can do this by using only the components and libraries you need in your project.


The other reason why the .NET framework has this unique architecture is to achieve a high level of flexibility in terms of platform support. .NET is packaged as a single framework but contains technologies to enable the development of software for every possible platform out there including mobile.


While multiplatform development has technically moved to .NET Core and its successors, there is still a considerable number of cross-platform tools out there developed with Xamarin on the .NET framework. A bulk of your work if you specialize in the .NET framework will involve maintaining existing cross-platform solutions that cannot be ported to .NET Core and above.


One thing many developers agree upon is the fact that the .NET framework was one of the first technologies to support the development of highly scalable enterprise-grade applications. Because of its modular architecture, the .NET framework makes it easy to scale any application they build as needed. You can implement scalability by adding and swapping out or upgrading components and resources as needs dictate to optimize application performance/availability.


As an example, ASP.NET applications can be scaled with additional servers and load balancing. You can easily scale such applications by utilizing a component like Windows Communication Foundation made for building distributed applications inside the .NET framework. We will discuss how WCF works later.


As an example, ASP.NET- the primary web development technology in the .NET framework received many updates over the years from Microsoft. However, developers who used Xamarin, WCF, and other components did not have to worry about the updates to ASP.NET unless they needed them for other projects.


The Common Language Runtime is easily the most important component inside the .NET framework. Without oversimplifying its definition, the CLR is the engine that ensures your applications are executed as expected and in a secure manner. Think of it as the layer between your code and the operating system that reads your code and ensures it is executed.


To use a banking analogy, the CLR could be the teller who receives your cash (code), counts it, runs it through the machine, and deposits it in your account (OS) so that you can use your account for transactions (code execution). Without the teller (CLR), you would need to count, verify, deposit your money in the vault, and update your account to start transacting. As you can imagine, such an unmanaged and unsupervised process is not only unreliable but also error-prone.

3a8082e126
Reply all
Reply to author
Forward
0 new messages