1

我正在将一些 C# 代码移到 premake 并在构建过程中遇到与名称冲突相关的问题:

我的预制解决方案如下所示:

workspace "Test"
configurations { "Debug", "Release"}

-- output locations
location("Intermediate/" .. _ACTION )
objdir ( "Intermediate/" .. _ACTION .. "/obj/%{cfg.buildcfg}/" )
targetname "%{prj.name}_%{cfg.buildcfg}"


project "Test"
    language "c#"
    kind "ConsoleApp"

    files
    {
        "**.cs",
        "**.xaml",
    }


    filter {}

我最终包括 2 个违规文件:

  • TestFolder1\Test.cs
  • TestFolder2\Test.cs

每个都有不同的命名空间但是它们都编译到同一个文件夹,因此我得到一个 MSB3105 编译器错误,指出源文件 \Intermediate\vs2010\obj\debug\Test.g.cs 在“源”中指定了不止一次范围。

任何想法如何获取输出调试文件以保留相对文件夹路径,以便避免这些名称冲突?

我以为我可以使用 files.relpath 令牌,但这对 objdir 无效。

谢谢,

4

0 回答 0