空的 Visual Studio 项目?

104

在Visual Studio 2008或2010中,是否有一种方法可以创建一个空项目?我不是指空解决方案,而是指解决方案中的一个空项目。基本上,我有一个包含多个项目的解决方案,并且我想添加一个项目来跟踪一些静态文件,这些文件是解决方案的一部分,但并不属于任何特定的项目。将它们作为解决方案文件添加进去行不通,因为解决方案文件夹不能映射到文件系统文件夹,而我想从Visual Studio中管理层次结构。

目前,我创建了一个空的Visual C#项目,这个方法可以实现我的需求,但我只是想知道是否有一个“更加空”的项目。


你想添加什么类型的文件?你想对它们进行何种操作? - Hannoun Yassir
在我的情况下,这是Sharepoint 14-Hive。基本上,我需要镜像文件系统(包括子文件夹)以跟踪我添加到其中的任何文件。有时,这些文件只是简单的图形或CSS文件,并不属于任何开发项目,但我仍然希望跟踪它们。主要需求是移动和重命名文件,并将这些更改在文件系统中进行镜像。此外,这种方式对于我来说更容易实现源代码控制。 - Michael Stum
1
那么,实际问题是什么?为什么空不够空呢? - Hans Passant
17
在Visual Studio中并没有“Empty Project”的选项,只有“Empty Solution”,而且解决方案文件夹不会影响文件系统。一个“空的C#项目”仍然包含编译器选项和“References”虚拟文件夹,我希望能够去掉它们。 - Michael Stum
请将整个目录结构添加到Visual Studio中的现有项目中,您可以使用“添加现有项”功能。在“添加现有项”对话框中,浏览到您想要添加的文件夹,并选择它。在选择文件夹后,您将看到一个复选框,允许您将文件夹中的所有文件添加到项目中。勾选此复选框并单击“添加”按钮即可将整个目录结构添加到项目中。 - Tim Abell
7个回答

63

我被C++的“空项目”或“Makefile项目”所误导,无法在其中创建新文件夹。

以下是添加空C#项目的三个步骤:

1)创建项目(添加 > 新建项目 > Visual C# > Windows > 空项目)

2)从构建中排除它(构建 > 配置管理器,在Debug和Release配置上取消勾选Build)

3)使用以下三行替换其csproj内容:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

好的,你可以在这个项目中创建一个文件夹,但它不会被构建。


3
这是最佳答案,而且微软公司应该默认包含这种解决方案。解决方案文件夹很难管理。 - Ken Smith
1
Visual C# → Windows → 经典桌面 → VS2015 空项目 - John Grabanski
@JohnGrabanski 程序不包含适用于入口点的静态“Main”方法。 - Toolkit
我在VS 2015中没有Visual C# > Windows > Empty Project。 - Toolkit

28
Visual C++项目类型中的"空项目"是在"常规"类别下的一个选项。
它会创建出几个空文件夹("头文件"、"资源文件"和"源文件"),它们只是'筛选器'(并不在文件系统中)。你可以直接删除它们。
它还具有C++项目的所有属性可用,因此除非您要构建它们(或将它们从构建中排除),否则不要把C/C++文件放在里面。
除此之外,它就相当空了。
可能更加接近"空项目"的是"Makefile项目",它也位于Visual C++项目模板的"常规"类别中。它同样会创建3个筛选器文件夹以及一个readme.txt文件,您可以将其删除。它的优点是,除非您明确指定在构建期间运行的命令,否则它将什么也不做。

5
如果你在项目属性中选择“常规”选项卡下的“配置类型”并选择“实用程序”,那么空的C++项目也不会做任何“事情”。请注意,我已经将原文的“damn”翻译成了“事情”。 - Abel
11
很遗憾,您不能向项目中添加文件夹。因此,我最终只能使用空的 C# 项目。 - MPritchard
2
实用程序项目非常有用,可以包含“仅头文件”的库,因此您可以轻松地从项目中引用它们。如果VS允许您一步创建此类项目,那将是很好的。同样,我希望能够一步创建空的DLL项目(其中大部分都是),而不必每次都从.exe修改为.dll。 - CashCow
C++ Makefile 项目和空项目不支持文件夹 :( - Áxel Costas Pena
我认为他们支持文件夹。请看下面我的回答,因为我无法在评论中包含图片。 - Niklas Peter

14

对于 Visual Studio 2015 及以上版本,可以使用所谓的共享项目来实现此功能。这只是一个空项目类型,它保存用于在另一个项目中使用的源文件,详见这里


只要里面没有代码,这就很好。如果任何项目需要引用此项目,则必须在依赖方面保持同步。因此,仅用作静态文件占位符,这将非常有效。 - CJBS
这对我很有效——我做的唯一更改是让项目在保留目录结构的同时自动添加其目录下的所有文件。自动添加很容易,只需在项目组中添加以下内容: <Content Include="$(MSBuildThisFileDirectory)**\*.*" /> 我还将它放到了一个Gist中,可以在这里找到。 - mhand

13

我在Visual Studio 2012中的C#和Visual Basic类别下发现了一个名为"Empty Project"的项目模板。不确定这些模板是否存在于Visual Studio 2008或2010版本中。

该模板似乎只会创建一个App.Config文件,可以轻松删除。


2
它仍然尝试编译内容,这并不总是理想的。 - Tim Abell

2
我认为C++空项目支持文件夹。至少在VS 2013中,您只需在“解决方案资源管理器”中单击“显示所有文件”即可。然后它将不再显示这些虚拟文件夹(筛选器),而是显示文件系统中的实际文件夹,然后您还可以创建新文件夹...
在Visual Studio 2013中显示所有文件的截图: Show all files in Visual Studio 2013

0
听起来你需要一个解决方案文件夹!

20
解决方案文件夹不反映目录结构。如果我在另一个解决方案文件夹中创建一个解决方案文件夹,并将一个文件移动到其中,那么该文件实际上并没有移动到文件系统中的该文件夹中。 - Michael Stum
啊,好吧。我认为这很可能太简单而不真实,但你永远不知道! - Paul Creasey
另一个不足之处是我注意到 TFS 构建不会将解决方案项放入发布文件夹中。 - Gopal SA

0

Microsoft Visual Studio 2019 社区版
Microsoft Visual Studio 2017 社区版
Microsoft Visual Studio 2015 社区版

要在 WPF 中创建一个空项目,
请转到 文件 > 新建项目
然后选择 模板 > Visual Basic > Windows > 经典桌面
使用此参考找到其他语言的空项目; enter image description here

现在,为了使用这个空项目,必须将引用添加到项目中;
解决方案资源管理器中,右键单击引用,然后选择添加引用...
选择这些引用:PresentationCorePresentationFrameworkSystem.WindowsWindowBase
然后点击确定

现在,你的解决方案资源管理器应该看起来像这样:
在此输入图片描述

开始编写并创建你的动态生成的WPF应用程序;
根据使用的代码,如果需要更多的引用,请按照以下步骤进行。


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