【问题标题】:Using SubSonic Active Record in a seperate assembly from the Web在独立于 Web 的程序集中使用 SubSonic Active Record
【发布时间】:2009-09-09 02:12:04
【问题描述】:

我正在关注教程here

我创建了一个新的 Web 应用程序。然后我添加了两个类库项目,Common 和 Domain。公共项目包含 SubSonic 库,而 Domain 项目包含 SubSonic .tt 和 .ttinclude 文件。

修改 Settings.ttinclude 中的设置后,我尝试在 tt 文件上“运行自定义工具”,但出现此错误:

Running transformation: System.ArgumentNullException: Value cannot be null. 
Parameter name: The project does not contain App.config or Web.config file.

我可以提供堆栈跟踪的其余部分,但它似乎找不到作为连接字符串的我的 Web.config。将 app.config 添加到 Domain 项目只会导致生成步骤抱怨找不到预期的部分。

有没有办法将这些文件放在单独的程序集中,但仍使用 web.config 进行设置?

【问题讨论】:

    标签: subsonic subsonic3


    【解决方案1】:

    您需要在要从中生成的项目中放置一个 App.config。是的,这是多余的,但没有其他方法可以使用 T4 处理此问题

    【讨论】:

    • 添加一个空白 app.config 只是将错误更改为:运行转换:System.ArgumentException:初始化字符串的格式不符合从索引 0 开始的规范。我认为这是因为没有app.config 中的配置。是否需要我在 app.config 中有连接字符串?这似乎有点糟糕,因为我必须在 web.config 以及 ASP.NET 成员资格中拥有它。
    • 添加连接字符串似乎可以解决它。我不认为有办法让它从 web.config 本身中提取出来?顺便说一句,如果你对一个空白数据库(没有表)运行它,你会得到一个无法编译的文件:)。感谢您的帮助!
    • 您可以编辑您的VS项目文件,将web.config文件从普通项目复制到域项目。这样你就不会真正维护两个文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多