2009-09-08 27 views
2

我在学习教程here从网络的独立程序集中使用SubSonic Active Record

我创建了一个新的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进行设置?

回答

2

您需要将App.config放置在您想要生成的项目中。是的,它是多余的,但有没有其他的方式与T4来处理这个

+0

添加空白的app.config只是改变了错误: 运行改造信息:System.ArgumentException:初始化字符串的格式不符合规范开始索引0. 我认为这是因为app.config中没有配置。是否需要在app.config中有连接字符串?这似乎有点糟糕,因为我必须在web.config中以及ASP.NET成员身份。 – 2009-09-08 18:23:37

+0

添加连接字符串似乎解决了它。我不认为有办法让它从web.config本身拉?正如一个侧面说明,如果你运行它对一个空白的数据库(没有表),你会得到一个不编译的文件:)。 感谢您的帮助! – 2009-09-08 18:28:33

+0

您可以编辑您的VS项目文件,以将web.config文件从公共项目复制到域项目。这样你就不会真的维护两个文件。 – 2009-09-10 07:04:44