我用Visual Studio 2008(添加/新项/本地数据库)创建了一个SDF(SQL CE)数据库.
是否可以使用SQL Server Management Studio编辑此数据库?我试图附加它,但它只提供.mdf并附加.sdf文件导致"无法检索此请求的数据".
如果是这样,是否可以使用Management Studio创建SDF文件?或者我们是否坚持使用Visual Studio 2008数据库管理器的简单界面?
当我尝试编译以下内容时:
public static delegate void MoveDelegate (Actor sender, MoveDirection args);
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:"modifer'static'对此项无效."
我在一个单例中实现它,有一个单独的类调用委托.问题是,当我在另一个类中使用单例实例来调用委托时(来自标识符,而不是类型),我无论出于何种原因都不能这样做,即使我声明委托是非静态的.显然,当且仅当委托是静态的时候,我才能直接通过类型引用它.
这背后的原因是什么?我使用的是MonoDevelop 2.4.2.
更新
使用以下代码尝试其中一个建议后:
public void Move(MoveDirection moveDir)
{
ProcessMove(moveDir);
}
public void ProcessMove(MoveDirection moveDir)
{
Teleporter.MoveMethod mm = new Teleporter.MoveMethod(Move);
moveDelegate(this, moveDir);
}
Run Code Online (Sandbox Code Playgroud)
我收到了一个处理错误,指出MoveMethod必须是一个类型,而不是标识符.
在TeamCity中转换web.config文件时出现以下错误.它发生在元素上<applicationSettings xdt:Transform="Replace">.
源文档中的任何元素都不匹配'/ configuration/applicationSettings'
源文件具有此设置.不知道怎么解决这个问题?
如何使用LINQ为下表创建嵌套分组?我想分组Code,然后分组Mktcode.
Code Mktcode Id
==== ======= ====
1 10 0001
2 20 0010
1 10 0012
1 20 0010
1 20 0014
2 20 0001
2 30 0002
1 30 0002
1 30 0005
Run Code Online (Sandbox Code Playgroud)
我最喜欢的是字典
Dictionary<Code, List<Dictionary<Mktcode, List<Id>>>>
Run Code Online (Sandbox Code Playgroud)
所以这本词典的价值就是
{1, ({10,(0001,0012)}, {20,(0010,0014)}, {30, (0002, 0005)})},
{2, ({20,(0001, 0010)}, {30, (0020)} )}
Run Code Online (Sandbox Code Playgroud) 我安装了Android开发的所有先决条件.我通过Eclipse创建了一个虚拟设备,并尝试在该设备中运行Hello World示例应用程序.我收到以下错误消息.
模拟器:错误:未知虚拟设备名称:'Android21Device'
模拟器:找不到名为'Android21Device'的虚拟设备
当我尝试从命令行和SDK程序启动设备时,我收到相同的错误.
我可以看到设备目录和文件
D:\Users\anthony\.android\avd\Android21Device.avd
我继承了一个庞大且相当复杂的状态机.它有31种可能的状态,都是真正需要的(大业务流程).它有以下输入:
将其分解为单独的状态机似乎不可行,因为每个状态都是不同的.我为最常见的输入编写了测试,每个输入有一个测试,所有输入都是常量,除了State.
[Subject("Application Process States")]
public class When_state_is_meeting2Requested : AppProcessBase
{
Establish context = () =>
{
//Setup....
};
Because of = () => process.Load(jas, vac);
It Current_node_should_be_meeting2Requested = () => process.CurrentNode.ShouldBeOfType<meetingRequestedNode>();
It Can_move_to_clientDeclined = () => Check(process, process.clientDeclined);
It Can_move_to_meeting1Arranged = () => Check(process, process.meeting1Arranged);
It Can_move_to_meeting2Arranged = () => Check(process, process.meeting2Arranged);
It Can_move_to_Reject = () => Check(process, process.Reject);
It Cannot_move_to_any_other_state = () => AllOthersFalse(process);
}
Run Code Online (Sandbox Code Playgroud)
没有人完全确定每个状态和输入集的输出应该是什么.我已经开始为它编写测试了.但是,我需要写一些像4320测试(30*2*2*2*3*3*2)的东西. …
是否有任何.NET库可以:
我有一个很好的解决方案,包括桌面应用程序项目,一些库项目和一些开发工具项目(也是桌面应用程序).目前,我的构建服务器将所有代码输出到一个OutputPath.所以我们最终得到了
drop-x.y.z\
Company.MainApplication.exe <-- main application
Company.MainApplicationCore.dll <-- libraries
Helper.exe <-- developer tools
Grapher.exe
Parser.exe
... <-- the rest of the output
Run Code Online (Sandbox Code Playgroud)
但是,我们正在成长,我们团队以外的人希望访问我们的工具.所以我想组织输出.我决定我们想要的是OutputPath每个可执行项目不同
drop-x.y.z\
Company.MainApplication\
Company.MainApplication.exe <-- main application
Company.MainApplicationCore.dll <-- libraries
... <-- application specific output
Helper\
Helper.exe <-- developer tools
... <-- tool specific output
Grapher\
Grapher.exe
...
Parser\
Parser.exe
...
Run Code Online (Sandbox Code Playgroud)
我找到了这个简单的命令.我喜欢它,因为它保留了所有解决方案work-dir上下文,这使得msbuild很痛苦.
msbuild /target:<ProjectName>
Run Code Online (Sandbox Code Playgroud)
例如,从我的解决方案root作为工作目录,我会打电话
PS> msbuild /target:Helper /property:OutputPath="$pwd\out\Helper"
Run Code Online (Sandbox Code Playgroud)
我正在从PowerShell中测试它,因此$pwd解析为我的工作目录的完整路径,或者在这种情况下解析为根目录.我得到了我想要的输出.
但是,当我运行此命令时
PS> msbuild /target:Company.MainApplication /property:OutputPath="$pwd\out\Company.MainApplication"
Run Code Online (Sandbox Code Playgroud)
我得到以下错误输出(没有更多的信息,我跑了/verbosity:diagnostic)
项目中不存在目标"Company.MainApplication".
我即将开始开发一个小型应用程序(C#),通过串行端口与PLC和测试单元进行通信 - 这是我第一次进入该领域.
本质上,我将向PLC发送信号以启动操作,然后我将等待来自测试单元(将与PLC独立通信)的操作结果返回ASCII字符串.
根据该字符串的内容,我可能想收听来自PLC的信号......
这对我来说都是新手,所以目前我只是在研究System.IO.Ports.SerialPort; 题外话:那里有第三部分产品,而不是简化与串口的互动,还是内置的课程和你一样好?我想的是易用性而不是更好的功能.
但是,在硬件可用于开发和测试之前几周,我想知道如何模拟与串口之间的通信,以便我可以开始开发我的应用程序?
[我还不知道PLC和PC是如何通信的 - 我知道它将是二进制而不是文本,但此刻,这就是我所知道的.]
我有三个自定义构建配置{Dev,Qs,Prd}.所以,我有三个app配置{Dev.config,Qs.config,Prd.config}.我知道如何根据当前的构建配置编辑.csproj文件以输出正确的文件.
<Target Name="AfterBuild">
<Delete Files="$(TargetDir)$(TargetFileName).config" />
<Copy SourceFiles="$(ProjectDir)$(Configuration).config" DestinationFiles="$(TargetDir)$(TargetFileName).config" />
</Target>
Run Code Online (Sandbox Code Playgroud)
我的问题是,我需要有六个构建配置{Dev,Qs,Prd} x {Debug,Release}.我需要支持每个环境的调试和发布设置(优化,pdb等).但是,app配置值在调试/发布之间不会更改.
如何使构建脚本尽可能保持通用,并仅使用三个应用程序配置?我不想硬编码太多的条件字符串.
c# ×4
msbuild ×3
.net ×2
android ×1
delegates ×1
deployment ×1
linq ×1
msdeploy ×1
mspec ×1
publishing ×1
serial-port ×1
simulation ×1
ssms ×1
unit-testing ×1
web-config ×1
windows ×1