1

我有一个项目(目前它的 .csproj,仅包含 .js 文件)。我只将它用于一些后期构建事件,以及来自 Visual Studio 的智能感知。

我可以以某种方式具有以下目录结构吗?

Root/Projects/HelloWorld.(cs)proj
Root/Sources/Test.js

但是 Visual Studio 似乎只从 .csproj 文件下的文件夹中获取源文件,如果我尝试从其他地方添加文件,它们会作为链接添加(我无法从 VS 删除或重命名)。例如,我可以将某些东西放入 .proj 文件中以更改根目录吗?

4

2 回答 2

1

您可以mklink /D Sources ..\Sources欺骗 VS,但它可能会弄乱您的 VCS,或者您可以挂接到AfterBuild目标并将源从 VS 的根目录复制到 IntelliJ。

于 2013-01-31T03:03:50.940 回答
0

Visual Studio 仅支持将文件添加到 a 的两种方法.csproj:将您添加的文件复制到(默认)目录层次结构下的某个位置,.csproj或者如果您选择将文件添加为链接,它会添加对该文件的引用。

你不能改变前一种行为,除非调用后一种行为,这显然有你不喜欢的缺点。

您可以直接编辑以在item group.csproj中包含其他文件,这可能会构建,但不会像您在 IDE 本身中所期望的那样显示或运行。Compile

如果您的目标是分离源和项目,您可以重新排列目录的结构,以便项目都位于根目录,并且有一个源目录是这些项目的兄弟目录:

Foo.csproj
Foo.someotherproj
Source/
  *.js

这意味着.csproj从 Visual Studio 查看时,您将所有内容都放在“源”文件夹中。

另一种选择可能是查看某种项目生成工具,例如premakeCMake,但它们对 C# 项目文件的支持可能不是那么强大。

于 2013-01-29T18:35:43.577 回答