在将源文件或整个源树拖放到C#项目时,有没有办法使用add-as-link?
目前,将源文件树拖到C#项目上将导致Visual Studio将所有文件复制到我的解决方案文件下面的镜像树。
使用add-as-link选项可以避免这种情况,如下图所示。但是,对于大型树或当目录中的某些文件已经是项目的一部分时,它会变得乏味。
我查看了工具 - >选项,在网页上搜索,并在拖放时持有各种魔术键组合,但无济于事。
我很想编写一个脚本,它只是覆盖我的.cs文件并在我的.csproj文件上运行一个正则表达式。我知道NAnt,Premake和其他解决方案 - 但我喜欢轻量级的东西。
答案 0 :(得分:4)
虽然这个问题已经得到解答,但我认为我会提供另一种方法,因为我发现了这个问题,同时确定是否可以使用拖放功能在Visual Studio中添加链接文件,而不是繁琐的“添加项目”对话框框。虽然这里的答案不是我想要的,但我发现了自己:
拖放时按住CTRL + SHIFT,将创建链接文件。另外,仅按住CTRL将创建副本,但不会删除源文件。
答案 1 :(得分:1)
可能不是你要求的,但是一旦我有两个.NET应用程序,我想分享很多源文件,所以我将两个Visual Studio解决方案放在同一个目录中!它确实有效,虽然我猜这个方法可以说很多......
否则最好的共享代码的方法是将共享代码放在一个单独的程序集中,尽管如果不是那样首先编写代码就需要相当多的额外工作。
答案 2 :(得分:1)
如果找不到解决方案,您也可以手动将目录绑定到项目中,让项目在加载时自动查找该目录中的所有.cs文件。
通过以下方式更改MSBuild文件可以轻松完成此操作:
<ItemGroup>
<Compile Include="SomeDirectory\**\*.cs"/>
</ItemGroup>
这将获取SomeDirectory中的所有.cs文件并将它们包含在项目中。如果经常有大量文件添加到项目中,这非常有用。但是,它可能会破坏某些机器添加无用的文件。这就是为什么我只建议在当前工作区中不可编辑的外部项目。