根据手头的项目意识到这可能是主观的,我正在寻找构建VS(Visual Studio)解决方案的"最佳实践"方法.
请随意编辑此内容,评论您认为可能不正确的内容,建议替代方案等.我很高兴看到这个社区Wiki成为刚开始使用VS Solutions的人们的一个很好的资源.
以下是我现在为我工作的(在我目前的项目中),但是我知道有一些事情在错误的地方. 在我的场景中,我正在使用MVC 2构建Web应用程序
请发布您对终极解决方案结构的想法,以便我们了解"最佳方式"/"最佳实践"(无论这意味着什么)
IE:
你如何打破你的DAL(数据访问层)/ BLL(业务逻辑层)?
您是否将存储库层和服务层放在BLL中?如果您正在使用MVC(模型 - 视图 - 控制器),您是否将控制器保留在UI而不是Core中?
你在Utility/Miscellaneous文件夹中扔了很多东西,还是将它分开?
等等...
- MySolution
- MySolution.Core
- 认证
- 这是我有一个POCO和一个方法将poco searial到auth cookie的userData secion的地方
- 基础
- 这是我保留BaseController和BaseGlobal的地方
- 控制器
- 我的所有控制器(显然)
- 域
- DatabaseModels
- 包含我的L2S .dbml文件
- JsonModels
- 用于将JSON对象传递给视图的模型
- 库
- 服务
- 的ViewModels
- 扩展
- 所有扩展方法
- 过滤器
- 动作过滤器
- 公用事业
- 蜜蜂
- 所有第三方API代码都在这里
- 徽章
- 徽章计算在这里
- 的MailClient
- 使用此处的课程发送纯文本或HTML电子邮件
- RoutingHelpers
- 包含一个用于启用小写路由的类
- 还包含我不知道还放在哪里的东西... IE:HTMLSanitizer,自定义HtmlHelpers,UserInfo助手(IP地址,浏览器等),DataConverter等
- MySolution.UI
- App_Browsers文件
- 资产
- CSS
- 图片
- 脚本
- 查看
- Global.asax - 继承自BaseGlobal
- Web.config文件
屏幕截图


请随时发表评论,或者更好的是,在下面发布您自己的版本(答案).我知道我所得到的并不是最好的方式.
我有一个数据集表,我想按列对其进行分组MOID,然后在该组中我想选择具有最大值列的行radi.
任何人都可以通过LINQ to dataset向我展示如何做到这一点?
我有两个USB鼠标连接到我的Mac,其中一个我用作扫描仪.我需要访问Generic X和Y数据,但我不希望该数据移动光标.在碳或可可环境下,我如何告诉系统忽略鼠标作为指针设备?
编辑:经过一些挖掘,我发现我可以用CGAssociateMouseAndMouseCursorPosition()函数关闭鼠标位置更新,但这不允许我指定一个鼠标.任何人都可以解释HID鼠标设备和光标之间的OS X关系吗?必须在逐个设备的基础上在硬件和软件之间进行绑定,但我找不到它.
当我尝试构建我的解决方案时,我收到以下错误:
Visual Studio无法启动调试,因为缺少调试目标"c:\ target".请>生成项目并重试,或者相应地设置OutputPath和AssemblyName属性>以指向目标程序集的正确位置.
我的输出路径正确设置为bin\Debug,但从不在该文件夹中创建exe.相反,我得到的是exe.config,vshost.exe和vshost.exe.config文件.
知道发生了什么事吗?
我正在寻找类似于python中的"字典"的go语言功能,以便于转换一些python代码.
编辑:地图在这个重复数据删除应用程序中运行良好.我能够在几秒钟内使用带有16字节字符串索引的地图将1.3e6重复项目缩减为2.5e5个唯一项目.与地图相关的代码非常简单,因此我将其包含在下面.值得注意的是,使用1.3e6元素预先分配地图的速度只有几个百分点:
var m = make(map[string]int, 1300000) // map with initial space for 1.3e6 elements
ct, ok := m[ax_hash]
if ok {
m[ax_hash] = ct + 1
} else {
m[ax_hash] = 1
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个框架(称为Lighthouse.framework),反过来,它使用来自另一个框架的代码(准确地说是RegexKit.framework).我已将RegexKit.framework复制到我自己的框架中,因此它具有如下结构:
Lighthouse.framework/
Versions/
A/
Frameworks/
RegexKit.framework
Lighthouse
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行使用Lighthouse.framework(我的框架)的应用程序时,我收到以下错误:
dyld:未加载库:@executable_path /../ Frameworks/RegexKit.framework/Versions/A/RegexKit
参考自:/Users/mdippery/Developer/Projects/Current/lighthouse/build/Debug/Lighthouse.framework/Versions/A/Lighthouse
原因:找不到图像
显然,加载器没有找到RegexKit.
以下是加载器期望加载的路径,礼貌otool:
build/Debug/Lighthouse.framework/Versions/A/Lighthouse:
/Users/mdippery/Library/Frameworks/Lighthouse.framework/Versions/A/Lighthouse (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
@executable_path/../Frameworks/RegexKit.framework/Versions/A/RegexKit (compatibility version 0.4.0, current version 0.6.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.19.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.26.0)
Run Code Online (Sandbox Code Playgroud)
我可以在另一个框架中包含一个框架吗?这是正确的方法吗?我该如何解决我的错误?
在汇编语言中,很容易定义一个类似的部分:
.section foo
Run Code Online (Sandbox Code Playgroud)
如何在C代码中完成?我想将一段C代码放在一个特殊的部分而不是.text,所以我将能够将该部分放在链接描述文件的特殊位置.
我正在使用GCC.
通常的做法是我努力避免直接使用内置类型,而是包含一个standardtypes.h,其中包含以下项目:
// \Common\standardtypes.h
typedef double Float64_T;
typedef int SInt32_T;
Run Code Online (Sandbox Code Playgroud)
几乎所有组件和源文件都依赖于此标头,但是有些人认为需要抽象类型的大小(实际上这并不需要).
这是一个很好的做法(特别是在大型组件化系统中)吗?还有更好的选择吗?或者是否应该直接使用内置类型?
我最近遇到了一组代码,它实例化了本地地图如下:
HashMap<String, Object> theMap = new HashMap<String, Object>();
Run Code Online (Sandbox Code Playgroud)
通常,当我看到使用HashMaps(并自己使用它们)时,局部变量就是Map(接口),而不是绑定到特定的实现.显然,如果Map可以将其实例化为Map各种类型(例如,接受参数),则这是必需的.但是,在类似于上面的内容的情况下,它在同一点被定义和实例化,是否只有使用接口类型的潜在原因,或者它只是样式/约定?
我有一个EditText和一个Button在我LinearLayout和我想要将它们紧密地对齐在一起,所以它们看起来似乎属于一起(edittext + micButton用于语音输入).
现在他们没有相同的高度,他们并没有真正对齐(Button似乎比它低一点EditText).我知道我可以应用负边距,-5dp以使它们更接近,但有没有更好的方法来做到这一点?
将它们设置在特定的容器/布局中,以便它们自动具有相同的高度,并且它们之间没有边距?