设置 Visual Studio 项目的默认 PropertyGroup 属性

问题描述 投票:0回答:2

在 Visual Studio 中,您有许多项目模板。

创建新项目时是否可以在

PropertyGroup
文件中设置初始
csproj
属性?

例如,当我创建一个新的控制台应用程序时,这些是其

csproj
文件的内容:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

</Project>

如果我希望

csproj
文件的内容与我创建的控制台应用程序不同,我该怎么做?

例如,我希望所有控制台应用程序项目默认禁用

Nullable

visual-studio templates project
2个回答
0
投票

提到的.csproj文件确实是由MSBuild技术生成的,该技术用于构建Visual Studio项目。要禁用 Nullable,可以将代码指令插入到文件的 PropertyGroup 部分,如下所示。

      <PropertyGroup>
       <OutputType>Exe</OutputType>
      <TargetFramework>net8.0</TargetFramework>
      <ImplicitUsings>enable</ImplicitUsings>
       <Nullable>disable</Nullable>
  </PropertyGroup>

为了将来的项目继承此设置,需要将项目保存为模板。

  • 在 Visual Studio 中,导航到菜单栏并选择“项目”-> “导出模板”。
  • 在弹出的向导中,选择“项目模板”,点击“下一步”。
  • 选择您要导出的项目,然后按照中的说明进行操作 向导完成导出过程。

下次要创建新项目时:

  • 转到“文件”->“新建”->“项目”。
  • 在“新建项目”对话框中,找到您的模板并选择它。

下面附上MSbuild和VS Template文档,有需要的可以看一下。 https://learn.microsoft.com/en-us/visualstudio/msbuild/walkthrough-using-msbuild?view=vs-2022 https://learn.microsoft.com/en-us/visualstudio/ide/creating-project-and-item-templates?view=vs-2022


0
投票

.Net Core 项目的模板位于

C:\Program Files\dotnet\templates

它们打包在

*.nupkg
文件中,但可以通过存档软件(如
WinRAR
)打开并编辑其中的文件。

问题在于它们是针对每个版本的。
这意味着 .Net 8 的模板仅用于该版本,因此,如果您希望所有项目中都存在某些属性组,您可以编辑 .Net 8 控制台应用程序的模板,它会起作用,但是您'当 .Net 9 发布时,我们必须做同样的事情。

最后,拥有自定义项目模板并更新它似乎是唯一的选择。

奖励:
似乎有一些古老的、古老的标志,例如

csharpFeature_Nullable
指示是否(在本示例中)
Nullable
属性将在项目中设置。然而,互联网上几乎没有关于它的信息。说真的。

© www.soinside.com 2019 - 2024. All rights reserved.