惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
V
Vulnerabilities – Threatpost
Attack and Defense Labs
Attack and Defense Labs
N
News and Events Feed by Topic
SecWiki News
SecWiki News
S
Security @ Cisco Blogs
Schneier on Security
Schneier on Security
B
Blog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
H
Hacker News: Front Page
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园_首页
D
Docker
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Y
Y Combinator Blog
W
WeLiveSecurity
N
News and Events Feed by Topic
F
Fortinet All Blogs
PCI Perspectives
PCI Perspectives
WordPress大学
WordPress大学
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Recent Announcements
Recent Announcements
Forbes - Security
Forbes - Security
T
Tailwind CSS Blog
Hacker News: Ask HN
Hacker News: Ask HN
爱范儿
爱范儿
腾讯CDC
Last Week in AI
Last Week in AI
月光博客
月光博客
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed
Help Net Security
Help Net Security
V
V2EX
C
Cyber Attacks, Cyber Crime and Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
H
Heimdal Security Blog
L
LINUX DO - 最新话题
GbyAI
GbyAI
The Hacker News
The Hacker News
罗磊的独立博客
S
SegmentFault 最新的问题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 【当耐特】
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V2EX - 技术
V2EX - 技术
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
O
OpenAI News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - 一一九九

Introduce to MEF (Study)- one 【wpf】AnimatedTabControl 如何显示内容 [wpf]设置Application的ICO Error: does not contain a static 'Main' method suitable for an entry point [wpf] Can you outline a story-driven process with Concordion? Your First Concordion.Net Project (Part 5)-Running Specs with Gallio Your First Concordion.Net Project (Part 4)-More Specifications! Your First Concordion.Net Project (Part 3)-Adding Specifications Your First Concordion.NET Project (Part 1)-What is Concordion.Net? [Specification by Example][ch5 Deriving scope from goals]-[读书笔记]-[4] [Specification by Example][ch5 Deriving scope from goals]-[读书笔记]-[3] [Specification by Example][ch5 Deriving scope from goals]-[读书笔记]-[2] [Specification by Example][ch5 Deriving scope from goals]-[读书笔记]-[1] [Specification by Example][ch4 Initiation the changes]-[读书笔记] [Specification by Example][ch3 Living documentation]-[读书笔记] [Specification by Example][ch2 key process patterns]-[读书笔记] [Specification by Example][ch1 key benefits]-[读书笔记] Binding Resource
Your First Concordion.Net Project (Part 2)-Setting Up Visual Studio
一一九九 · 2012-01-16 · via 博客园 - 一一九九

2012-01-16 10:40  一一九九  阅读(187)  评论()    收藏  举报

From: http://living-in-concordion.blogspot.com/2009/05/your-first-concordionnet-project-part-2.html

需要提前了解Microsoft’s guidelines for setting up a Visual Studio project

大多数Concordion.net Projects应该拥有如下的基本程序集结构:

  • <project name > 包含业务逻辑的程序集
  • <project name>.Test 包含单元测试的程序集。
  • <project name>.Spec 包含Concordion.net Specifications的程序集。

我们将创建一个叫做Calculator的项目这是一个包含一个计算API的简单的例子。Yes, I know this is a very simple example but it will have to do for now because I’m not feeling very imaginative!  呵呵。我们将会建立如下三个项目:

  • Calculator
  • Calculator.Test
  • Calculator.Spec

Calculator.Sample.1_thumb

这是我们程序集的基本结构。一般来说我采用XUnit 为我的开源项目Text,但是这里不会过多的涉及Calculator.Test项目,这里仅仅是为了完整性。

我们后续会涉及需要额外添加的引用。

The ConcordionAssembly Attribute

你需要在你的Concordion.net项目上做的第一件事情就将你的程序集加入 ConcordionAssembly属性。这能够允许Gallio(运行Spec的程序)知道包含Concordion Specifications的程序集。假如这个属性没有加入的话,你的Test不会被找到。你可以将程序集如下标识:

[assembly: ConcordionAssembly]
将这个声明放到项目Calculator.Spec 的AssemblyInfo.cs 文件的声明中。
The next part in this series will talk a bit about how to add specifications to the Calculator.Spec project.