Unity3D BuildPipeline.BuildPlayer打包后没有.exe文件

Unity3D BuildPipeline.BuildPlayer打包后没有.exe文件

  • 先说结论:要确保指定的打包路径包含扩展名.exe,而不是给一个文件夹路径

最近在使用代码进行打包,打包成功了,却没有没有可执行文件。
img

官方代码如下

        BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
        buildPlayerOptions.scenes = new[] { "Assets/Scene1.unity", "Assets/Scene2.unity" };
        buildPlayerOptions.locationPathName = "iOSBuild";
        buildPlayerOptions.target = BuildTarget.iOS;
        buildPlayerOptions.options = BuildOptions.None;

        BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions);

我是需要打包到Window PC端,所以只是修改了打包平台属性以及路径

		BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); ;
		buildPlayerOptions.scenes = new string[] { "Assets/Scenes/UI/UseUIMask.unity" };
		buildPlayerOptions.target = BuildTarget.StandaloneWindows;

		buildPlayerOptions.locationPathName = $"../Build/AutoBuild/PC/{DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss")}";

		buildPlayerOptions.targetGroup = BuildTargetGroup.Standalone;

		buildPlayerOptions.options = BuildOptions.None;

		var report = BuildPipeline.BuildPlayer(buildPlayerOptions);

经过以下操作均为解决:

  • 重启Unity
  • 修改打包文件的输出路径

最后一个没有扩展名的文件引起了我的注意img

将其加上扩展名.exe就可以运行了。

看来我是汉语没学好吗???这明明是路径啊,按我理解就是不加扩展名的!
img

		buildPlayerOptions.locationPathName = $"../Build/AutoBuild/PC/{DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss")}";

↓↓↓↓↓↓下面的才是正确的↓↓↓↓↓↓

		buildPlayerOptions.locationPathName = $"../Build/AutoBuild/PC/{DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss")}.exe";

对于PC端来说,路径原来是要加扩展名的!!!

posted @ 2022-11-21 17:55  清风0307  阅读(782)  评论(0编辑  收藏  举报