在C#中部署后,正在将文件提取到Executing文件夹中

本文关键字:提取 Executing 文件夹 文件 部署 | 更新日期: 2023-09-27 17:50:37

好的,所以我想从我的c#部署中运行一个媒体文件资源,这样它就可以从项目资源中提取出来,然后通过windows媒体播放器播放。

这在调试时效果良好

    private void button4_Click(object sender, EventArgs e)
    {
        string mp4path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Timi.mp4");

        File.WriteAllBytes(mp4path,LearnMedia.Properties.Resources.UNILAD);
    MessageBox.Show(mp4path);

   ProcessStartInfo ps = new ProcessStartInfo("wmplayer.exe", "'""+mp4path+"'"");
    Process.Start(ps);

消息框显示它提取到的位置,但当我部署项目时,文件不会被提取到程序文件中,即使消息框显示了它需要提取到的路径;从而windows媒体看不到要播放的文件。

请帮帮我,大师!

在C#中部署后,正在将文件提取到Executing文件夹中

您的应用程序很可能没有对程序文件的写访问权限,因为这通常默认为Admins和Trusted Installer。更合适的做法是在ProgramData中为应用程序创建一个目录,并将其用于运行时资源。