如何编辑 .csproj 文件

258

当我使用.NET Framework 4.0 MSBUILD.EXE文件编译我的.csproj文件时,出现错误:“website01.csproj”上下文中找不到“lable01”。

实际上,我需要添加每个带有其代码后台文件的ASP.NET页面的引用。我已经完成了,它正常工作,但是上述错误还未解决。

希望这意味着我需要在那个.csproj文件中添加表单名称“LABLE01”,但是我不知道语法。请提供添加表单名称到.csproj文件中的语法。

14个回答

530

CSPROJ文件以XML格式保存,其中包含了项目的所有引用和编译选项。另外还有一个SLN文件,它存储了组成你方案的各个项目的信息。

如果你正在使用Visual Studio并需要查看或编辑CSPROJ文件,可以按照以下简单步骤在Visual Studio中进行:

  1. 在解决方案资源管理器中右键单击你的项目,选择卸载项目
  2. 右键单击(在解决方案资源管理器中标记为不可用的)项目,然后单击“编辑 yourproj.csproj”。这将打开你的CSPROJ文件进行编辑。
  3. 完成所需更改后,请保存并关闭文件。再次右键单击该节点,并在完成后选择重新加载项目。

1
谢谢您的回答...但我确实需要将文件添加到现有项目中...因此,这意味着需要手动向.csproj文件中添加几行XML代码。我确实需要语法来表示该代码中的label01表单... - Karthik Malla
1
你认为用户应该通过文本编辑器手动编辑 .csproj 文件吗?我想知道人们通常是如何做的。使用文本编辑器还是 Visual Studio? - user10706046
3
在 Visual Studio 2022 中,您只需单击“编辑项目文件”即可。 - bongoSLAP

48

由于问题没有直接提及Visual Studio,因此我将介绍如何在JetBrains Rider中执行此操作。

从上下文菜单中

  1. 右键单击您的项目
  2. 转到编辑
  3. 编辑 '{project-name.csproj}'

输入图像描述

使用快捷方式

  1. 选择项目
  2. F4

1
或者直接使用通常的“转到文件”快捷方式并输入 csproj - Pang

23
你可以右键点击项目文件,选择“卸载项目”,然后通过选择“编辑项目名称.csproj”直接打开文件进行编辑。
在保存更改后,您需要重新加载项目以便进行编译。
请参阅MSDN上的如何卸载和重新加载项目,以及链接的如何编辑项目文件
由于项目文件是XML文件,您也可以使用支持Unicode的任何文本编辑器(如记事本、Notepad++等)简单地对其进行编辑。
然而,我非常不愿意手动编辑这些文件 - 如果可能的话,请使用解决方案资源管理器进行操作。如果您遇到错误并且知道如何手动修复它们,请继续操作,但请注意,如果您不确切知道自己在做什么,可能会完全破坏项目文件。

1
希望在.csproj文件中手动添加标签名称?我是说语法... - Karthik Malla
1
@Karthik Malla - 如果您查看项目文件中的其他类,您将看到语法。 - Oded
1
是的...但我在.csproj文件中找不到任何与表单相关的内容,但在使用MSBUILD.EXE编译时,会显示一个带有代码CS0103的错误。 - Karthik Malla
1
@Karthik Malla - 你应该也会得到一个包含错误文件名和行号的信息。 - Oded
1
是的...!但我什么也做不了.... ASP.NET页面及其C#代码在使用VS编译器时运行良好,但当我使用msbuild.exe编译.csproj文件时,出现错误,提示我在.csproj文件中没有对该表单的引用。因此,我需要语法来将表单名称添加到.csproj文件中。 - Karthik Malla
Visual Studio完全混乱了项目文件,添加了大量重复信息。这使得在大型项目上维护数百个项目文件成为一场噩梦。因此,我再也不会在Visual Studio中修改它们了。因为如果你这样做,VS将采用您的新设置并将其乘以您正在针对的配置和平台的数量。而这可能会变得非常庞大。 - C.J.

16
以下是我编辑项目文件的方法,无需卸载项目:
  1. 打开“Solution Explorer”并切换到文件夹视图: 这里输入图片描述

  2. 转到您想要编辑的项目所在的“Solution”文件夹,并右键单击它。

  3. 从上下文菜单中选择“Open”。 这里输入图片描述

就这样!

您将看到在Visual Studio编辑器中打开了*.csproj文件。
之后,您可以切换回Solution/Project视图(参见步骤1)。

这里输入图片描述


更新:

从Visual Studio 2019(v.16)开始,您可以双击项目来编辑*.csproj文件。请确保已从设置中打开此选项。

这里输入图片描述

或者

您需要点击“在解决方案和可用视图之间切换”的图标(自VS 19+以来已更新)。

enter image description here

然后点击“文件夹视图 (...”

enter image description here

然后从第二步继续操作(如上所述)。

注意:如果您想切换回去,您需要点击“.sln”*


似乎你的更新建议在vs2022中不可用。 - Bashir Momen
@BashirMomen,谢谢!它实际上在那里。请查看帖子的第二次更新。 - Arsen Khachaturyan
谢谢,Arsen。我的意思是“从Visual Studio 2019(v.16)开始...”不可用,但我仍然对它感兴趣,因为它是内置于vs fn中的。 :-) - Bashir Momen
谢谢,我错过了在VS 19上检查它的机会,因为现在我已经转换到VS 22了。已更新 ;) - Arsen Khachaturyan

14

最佳选择,但只适用于Visual Studio 2012、2013、2015。 - Saksham Chaudhary
1
请查看https://marketplace.visualstudio.com/items?itemName=Heku.EditProject2022获取更新版本。 - Bashir Momen

13

在 vs 2019 版本 16.8.2 中, 右键单击项目名称, 然后点击“编辑项目文件”enter image description here


6
我很确定这是一个Visual Studio扩展,是一个很好的技巧,但不是原生功能。 - CajunCoding

3

对于JetBrains Rider:

第一种选项:

  1. 卸载项目
  2. 双击未加载的项目

第二种选项:

  1. 单击项目
  2. 按F4键

就这样了!


2

抱歉,最有效的方法是不用填充您的项目文件。

  1. 右键单击文件。
  2. 转到属性
  3. 在生成操作选项中将其设置为无。
  4. 执行构建操作(如果这样做,您可能会收到构建错误消息,即使如此也很好)
  5. 返回该文件的属性
  6. 将生成操作选项重新设置为编译。
  7. 重新构建。

  8. 恭喜您比其他人更聪明,没有破坏您的项目。对我来说,这个练习不到10秒钟。相比手动输入compil...行到csproj中,自动完成更新不仅可以使项目无法使用,而且在大型应用程序中也无法维护。最好保留源版本控制软件来进行更新。如果需要交叉合并分支,则执行上述操作非常棒:)


2
你也可以通过双击项目文件打开 .csproj 文件,无需右键单击并选择编辑项目文件。只需双击即可完成操作。

1
这适用于 .net 6,但不适用于 .net 4 项目。 - Chrigl
谢谢 @Chrigl。我没有在较旧的.NET版本上测试,所以不能确定。 - Ucheuzor

1

打开.csproj文件的方法:

  • 打开解决方案浏览器 1
  • 点击编辑项目文件选项 2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接