2016-08-25 11 views
0

リソースファイルを別のフォルダにコピーしたいとします。リソースファイルをWindowsディレクトリにコピー

    System.IO.File.Copy(@"Resources\empty.jpg", destFile); 

が、これはそれと同じくらい簡単かもしれないと思いました。 empty.jpgが見つかりませんでした\「パスリソースの一部

ここにすべてのヘルプ

+0

リソースがソリューション内のフォルダであると仮定すると、あなただけを使用することができるはずです。 'System.IO.File.Copy(「em​​pty.jpg」、destFile);' – Rinktacular

+0

は 'リソースの\ empty.jpgです'あなたはアプリを実行するとEXEファイルの横に? Visual Studioからデバッグする場合、これはソリューションの下の '%Your_Project_Path%\ bin \ debug'フォルダにあります。 –

+0

empty.jpgは私の "project.Properties.Resources"にあるファイルです。 – mykds

答えて

1

あなたはフランシスは上記のコメントで述べたように、VSではデフォルトで、あなたがなります。あなたが現在いる場所に関連して、ファイル/フォルダを知っておく必要がありますリソースがC:のルートから離れている場合は、Cのルートに自分自身を移動する必要があります。まず何とか、eith C:を直接参照するか、\を使って親フォルダを親フォルダで操作してください。

あなたがどこにいるかのサブディレクトリであれば、ファイルが存在するときに上記の内容が正しく動作します。私は自分自身で試しました。つまり、あなたのproject \ bin \ debugパス内に存在するパスを参照している可能性は低いです。

プロジェクトの外にある場合は、まずプロジェクトフォルダ自体を取得する必要があります("..\..\Resources\empty.jog")。

+0

ありがとう...それは瞬間に動作します。しかし、実際には適切なリリースで動作しますか? – mykds

+1

あなたのリリースがどのようにフォルダを作成するように設定されているかによって異なります。リリースをテストするだけで確実にわかります。 – Earthworm

0

答えはここにhttps://msdn.microsoft.com/en-us/library/cc148994.aspxであるあなたがドライブ文字を必要とするようになっています しかし、それは私のようなエラーがスローされます。?。あなたのソースフォルダ名の前と、おそらくフォルダ名を対象としています。

string fileName = "test237.txt"; 
string sourcePath = @"C:\temp"; 
string targetPath = @"C:\temp2"; 

string sourceFile = System.IO.Path.Combine(sourcePath, fileName); 
string destFile = System.IO.Path.Combine(targetPath, fileName); 

System.IO.File.Copy(sourceFile, destFile, true); 
+0

Project-Path全体がなくてもこのファイルをコピーする方法はありますか? 適切なリリースを構築するとエラーは発生しませんか? – mykds

関連する問題