diff --git a/instructions/dotnet-framework.instructions.md b/instructions/dotnet-framework.instructions.md new file mode 100644 index 0000000..1a1a823 --- /dev/null +++ b/instructions/dotnet-framework.instructions.md @@ -0,0 +1,33 @@ +--- +description: 'Guidelines for working with .NET Framework projects' +applyTo: '**/*.csproj', '**/*.cs' +description: 'These instructions provide guidance for working with .NET Framework projects. Because .NET Framework projects require different tools and language versions compared to .NET/.NET Core, these instructions can be +helpful for ensuring LLMs understand the context and requirements of .NET Framework development.' +--- + +# .NET Framework Development + +## Build and Compilation Requirements +- Always use `msbuild /t:rebuild` to build the solution or projects instead of `dotnet build` + +## C# Language Version is 7.3 +- This project is limited to C# 7.3 features only. Please avoid using: + - C# 8.0+ features like using declarations (using var x = ...) + - await using statements + - Switch expressions + - etc. + +## Project File Management +- All new source files **MUST** be explicitly added to the project file (`.csproj`) using a `` element + - .NET Framework projects do not automatically include files in the directory like SDK-style projects + - Example: `` + +## NuGet Package Management +- Instead, ask the user to install or update NuGet packages using the Visual Studio NuGet Package Manager or Visual Studio package manager console. +- Installing and updating NuGet packages in .NET Framework projects is a complex task requiring coordinated changes to multiple files. Therefore, **do not attempt to install or update NuGet packages** in this project. +- When recommending NuGet packages, ensure they are compatible with .NET Framework or .NET Standard 2.0 (not only .NET Core or .NET 5+). + +## Environment Considerations (Windows environment) +- Use Windows-style paths with backslashes (e.g., `C:\path\to\file.cs`) +- Use Windows-appropriate commands when suggesting terminal operations +- Consider Windows-specific behaviors when working with file system operations