【发布时间】:2017-08-30 01:45:45
【问题描述】:
编辑:Martin 在下方提供了一个缺陷链接,该缺陷现已修复并发布。
我是一名大学生。我想在我的课程作业中使用 .NET Core。为此,我的代码需要在部门 Linux 集群上编译和运行,因为这是我的导师测试我提交的内容。
我的系统管理员在试用的基础上为我安装了最近发布的 .NET Core 2.0 RHEL 包。我创建、构建并运行了sample CLI projects Microsoft provides,它们工作正常。但是我的系统管理员很不高兴,因为dotnet 在(全局)/tmp 中创建了至少一个文件,在我注销后该文件仍然存在。
-rw------- myuser mygroup /tmp/.NETCoreApp,Version=v2.0.AssemblyAttributes.cs
原则上,他宁愿dotnet 不在 /tmp 中创建任何在处理完成时不会清理的文件。不仅如此,当他尝试自己构建微软的样本时,它失败了; dotnet 试图访问上面的文件,他的用户没有读取权限!
理想情况下,dotnet 不会创建任何生命周期与其正在构建的项目不同的文件。为此,任何此类文件都可以存在于项目目录中——可能在 bin 子目录下,以便clean 将清除它们。有没有办法让dotnet 在那里写这些文件?不然能不能少用临时文件名,避免我们遇到的权限冲突?
无论解决方案是什么,它都必须是全系统的,并且不能依赖于用户的良好行为。因此,要求用户设置 $TMPDIR 之类的操作将不起作用。
【问题讨论】:
标签: msbuild .net-core rhel csproj