Templates I';由于项目和连接字符串位置问题,我在亚音速3.0中编译数据库对象时遇到问题

Templates I';由于项目和连接字符串位置问题,我在亚音速3.0中编译数据库对象时遇到问题,templates,web-config,subsonic,subsonic3,t4,Templates,Web Config,Subsonic,Subsonic3,T4,我对生成代码的T4模板有问题 我想知道是否有人能帮我解决一个问题。 我想将用于亚音速3.0的连接字符串存储在默认位置,例如网站的根目录(Web.Config或单独的.Config文件) 如果t4模板在具有配置文件的项目中“运行”,则这是可以的 我想做的是将它们从初始项目中分离到单独的类/项目文件中,然后从那里运行模板 如果我在这些项目中放置一个App.Config文件以及连接字符串,这一切都可以正常工作,但这不是我想要的,因为这将在这些类文件中硬编码这些连接字符串。(注意,其他类文件项目都位于单

我对生成代码的T4模板有问题

我想知道是否有人能帮我解决一个问题。 我想将用于亚音速3.0的连接字符串存储在默认位置,例如网站的根目录(Web.Config或单独的.Config文件)

如果t4模板在具有配置文件的项目中“运行”,则这是可以的

我想做的是将它们从初始项目中分离到单独的类/项目文件中,然后从那里运行模板

如果我在这些项目中放置一个App.Config文件以及连接字符串,这一切都可以正常工作,但这不是我想要的,因为这将在这些类文件中硬编码这些连接字符串。(注意,其他类文件项目都位于单独的位置)

我描述设置(Web应用程序)的最佳方式如下:

  • DB级(项目) | ----型号>T4模板(注1) |
  • 核心课程(项目) |
  • CMS类(项目) |
  • 网站(项目) |
    ----Web.Config好的,我不确定我是否100%同意你的要求,但我会尽力的

    • A.-tt文件不能引用web.config文件(或者可以吗?),并且
    不,但他们真的不需要。D:\Web Application\Core.DLL的App.config可以包含连接字符串。如果您担心web.config和app.config中的连接字符串都会重复,那么可以添加一个自定义生成事件,将连接字符串从一个复制到另一个

    • 亚音速代码仍然需要能够在运行时读取连接字符串。我可以让App.config读取web.config connectionstring部分吗?或者我该怎么做

    在运行时,您的网站不会引用app.config,而web.config会

    谢谢你回复我,亚当。我只是在你发帖时想出来的,我想我会让人们知道我的结果

    直到我在网上搜索T4模板,我的头脑才开始行动起来。 我误解了T4模板的工作原理。我认为tt文件必须与生成的代码文件保持一致

    我所做的是创建了第二个项目,仅用于运行T4模板,它与主项目分离。我输入了我当前正在使用的连接字符串,同样,它只用于开发,不用于生产,因此我可以轻松地修改它。这非常有效,允许我将生成的代码文件复制到DB DLL类项目中以供使用

    我不知道的是,就像你上面所说的,当项目全部运行时,它将Web.config文件提供给与网站相关的任何DLL等。 因此,这也解决了我在连接字符串方面的问题,并且可以在生产中轻松地修改它

    很傻,但这只是其中一件事,如果你不知道,也没有人告诉你,你就认为这是不可能的

    现在,我可以使用亚音速访问项目中任何位置的数据库对象(包括引用DB DLL类的任何DLL)


    我不得不说,亚音速肯定会让我的生活更轻松。只需一行代码即可获取数据,这是一个很好的想法:)

    我不确定我是否理解您在这里提出的问题