2009-04-04 6 views
7

私はVisual Studioソリューション+プロジェクトファイルを生成できるセットアップを考え出しています。 slnと.csprojが保存されます。VisualStudio C#にプロジェクトディレクトリ以外のファイル/フォルダを作成します。

(catch:))、私は右クリックしてフォルダを作成し、右クリックしたフォルダに生成される "新しいコードファイル"と言う新たなファイルが必要です。これは.slnフォルダ。

本当にできませんか?

PS Sidenote:これを実行したい理由は、.csファイルが実際には別のプログラムで多くの他のファイルとともに使用されているからです.sln、.csproj、。 ReSharper、.suoなどのファイルは、私のディレクトリを乱雑にします。

+0

あなたが書いたこの「別の」プログラムですか? もしそうなら、プロジェクトディレクトリ内に.csファイルを残し、プログラムを書き換えて非.csファイルを除外することをお勧めします。 この他のプログラムに関するもう少しの情報は、誰かがより良い解決策を思いつくのに役立つかもしれません - IMHO、プロジェクトディレクトリの外にファイルを保存するだけでメンテナンスの悪夢を作成しています – belugabob

答えて

-1

皆様に感謝します。この時点で私が正確に望むものは不可能なようです。バマー。ハードリンクFSUTIL

7
+1

不幸にも、スタジオ、次にAddAsLinkします。私は、ユーザーが単にAdd-> NewItemを行うことができるように工夫する方法があることを望んでいます – Lucas

+0

これはVSプラグイン(かなり醜いです)を必要とします –

0
たぶん

fsutil hardlink createのように追加しますか?

VSプロジェクトディレクトリをスラップして、見つかった.csファイルごとにハードリンクを作成するPowerShellスクリプトを作成することは難しくありません。毎晩、毎晩、オンデマンドで、毎日実行するように設定することができます。

+1

右。残念ながら、それはビジュアルスタジオから「新しいアイテムを追加する」ことができないという問題を解決しません。 – Lucas

0

は== http://dotnet-snippets.de/dns/hardlink-erstellen-SID355.aspx

[DllImport("kernel32.dll", EntryPoint="CreateHardLinkA", CharSet=CharSet.Ansi, SetLastError=true, ExactSpelling=true)] 
private static extern long CreateHardLink(string lpFileName, string lpExistingFileName, IntPtr lpSecurityAttributes); 

public void CreateHardLink(String sourcePath, string destPath) { 
    CreateHardLink(destPath, sourcePath, IntPtr.Zero); 
} 
3

興味を持っている誰のために、で「リンク」フォルダを持つことが可能ですソリューションのルートにすべて表示されるリンクされたファイルの代わりに、ソリューションエクスプローラを使用します。 csproj/vbprojファイルに次を含めます。

<ItemGroup> 
    <None Include="..\MyFolder\*.*"> 
     <Link>MyFolder\A\</Link> 
    </None> 
    </ItemGroup> 

これは、プロジェクトの1レベル上の「MyFolder」ディレクトリからのすべてのファイルを含みます。 'A'は何でも呼び出すことができますが、フォルダがソリューションエクスプローラに表示されるようにする必要があります。残念なことに、この方法を使用すると、IDEから新しいファイルを追加することはできません。これは、リンクされたディレクトリではなく、プロジェクトディレクトリ内の同じ名前のフォルダに追加されるためです。

0

私が見つけた解決策は、ディレクトリまたは現在開いているファイルに関連するファイルを追加できるVisual Assist拡張をインストールすることでした。

さらに詳しい説明は、previous postを参照してください。

関連する問題