私は ac# プログラム (具体的には IRC ボット) を作成し、スクリプト ライブラリ Jint ( http://jint.codeplex.com/ ) を使用しています。呼び出されたときに別のファイルから .js テキスト ストリームを読み取る外部コマンドがリンクされています。最初のファイルの読み取りは正常に機能しますが、他のファイルを読み取ると、次のメッセージが表示されます。
System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' failed.
at HgpBot.Program.TextFile(String path) in C:\Users\Jake\Documents\Visual Studio 2010\Projects\HgpBot\HgpBot\Program.cs:line 167
at HgpBot.ExternalCommands.DoFile(Plugin p, IrcEventArgs e, String FilePath)
in C:\Users\Jake\Documents\Visual Studio 2010\Projects\HgpBot\HgpBot\ExternalCommands.cs:line 76
The action that failed was:
Demand
The type of the first permission that failed was:
System.Security.Permissions.FileIOPermission
Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
例外をスローする C# 関数は次のとおりです。
public static List<String> TextFile(String path)
{
List<String> result = new List<string>();
try
{
using (TextReader tr = new StreamReader(path))
{
String line;
while ((line = tr.ReadLine()) != null)
{
result.Add(line);
}
}
return result;
}
catch (Exception e) { throw e; }
}