在Windows服务应用程序中构建输出文件路径

时间:2014-01-22 19:16:53

标签: c# wcf windows-services

我有一个WCF服务,可以在创建时读取文件。

我将该文件添加到我的项目中,将其 Buid操作设置为内容,将复制到输出目录设置为始终复制< / em>,并使用以下命令获取文件路径:

private const string MEDIA_PLAYER_FILENAME = "mediaPlayers.xml";
var mediaPlayerFilePath = Path.Combine(Environment.CurrentDirectory, MEDIA_PLAYER_FILENAME);

当我在托管应用程序中自托管它时,这很有效,但是当它在Windows服务中托管时,它会失败,因为它尝试从 C:\ Windows \ system32 \ mediaPlayers.xml <读取它/强>

我猜Environment.CurrentDirectory不是我应该使用的那个。它应该是什么?还是有另一个approch这样做?

1 个答案:

答案 0 :(得分:3)

您想要的是执行程序集的路径。 CurrentDirectory不是一回事。

请参阅此帖子以获取该信息:

Getting the path of the current assembly

重新后:

(new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath;

或者

Assembly.GetExecutingAssembly().Location