我使用的是VSTS 2008 + C#+ .Net 3.0.我有两个输入字符串,我认为它们是不同的.但是下面的C#代码认为它们是相同的,并抛出System.Data.ConstraintException,表示Column Name被限制为唯一,但值已经存在.有什么想法有什么不对?
这是我的代码和我的输入字符串,
我输入字符串的十六进制视图,
http://i30.tinypic.com/2anx2b.jpg
我的输入字符串的记事本视图,
http://i30.tinypic.com/2q03hn4.jpg
我的代码,
static void Main(string[] args)
{
string[] buf = new string[] { "2ch", "???" };
DataTable bulkInserTable = new DataTable("BulkTable");
DataColumn column = null;
DataRow row = null;
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "Name";
column.ReadOnly = true;
column.Unique = true;
bulkInserTable.Columns.Add(column);
foreach (string item in buf)
{
row = bulkInserTable.NewRow();
row["Name"] = item;
bulkInserTable.Rows.Add(row);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑1:
我的困惑是,为什么C#Dictionary认为它们不同,但DataSet认为它们是相同的.任何使行为一致的解决方案?这是我的代码来证明C#Dictionary认为它们不同,返回buf数组有两个元素.
Dictionary<string, bool> dic = new Dictionary<string, …Run Code Online (Sandbox Code Playgroud) 我需要将一些XML元素发送到其他一些服务,我想确保我的XML文件格式优雅,以便其他人可以使用他们的XML解析器来解析XML文件.
对于这种类型的XML文件,它是优雅的格式,打破任何XML规则?不确定是否是.Net/C#中有效的XML字符序列?
我很困惑字符串是否以$#x开头都有效?如果不是所有这些都有效,有什么方法可以过滤掉它们吗?
我使用的是VSTS 2008 + C#+ .Net 3.5.
<?xml version="1.0" encoding="utf-8"?>
<Text></Text>
Run Code Online (Sandbox Code Playgroud) 我正在使用VSTS 2008 + C#+ .Net 3.5 + IIS 7.0.我想使用appcmd添加一个新的网站,我的场景是这样的.
我已经花了相当长的时间研究了appcmd,但无法搞清楚.也许我太愚蠢或因为IIS 7.0/appcmd是新的,帮助信息是有限的.:-)
感谢是否有人可以让我知道如何使用appcmd完成我的部署任务?
乔治,提前谢谢
事务在提交并且连接关闭后是否可以回滚?
finally
{
// Commit the transaction.
sqlTran.Commit();
reader.Close();
reader.Dispose();
conn.Close();
conn.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
我想给用户一个Opps选项!滚回去.所以如果它被提交可以回滚吗?
我正在使用VSTS 2010 + C#+.Net 4.0 + IIS 7.5 + Windows 7.我在这里没有任何修改地关注MSDN示例,http://msdn.microsoft.com/en-us/library/ms733766.aspx
当我在IIS中打开service.svc文件(在IIS管理器中,右键单击svc文件并选择浏览)时,会出现这样的错误,任何想法有什么问题?
在服务列表CalculatorService中找不到协议名称"IMetadataExchange".将ServiceMetadataBehavior添加到配置文件或直接添加到ServiceHost
这是我正在使用的web.config,
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<!-- This section is optional with the default configuration
model introduced in .NET Framework 4 -->
<service name="Microsoft.ServiceModel.Samples.CalculatorService">
<!-- This endpoint is exposed at the base address provided by host: http://localhost/servicemodelsamples/service.svc -->
<endpoint address=""
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- The mex endpoint is exposed at http://localhost/servicemodelsamples/service.svc/mex -->
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud) 当我在构建服务器上构建解决方案时,它会生成一个二进制文件夹,然后将这些二进制文件复制到最终的输出文件夹.在我的情况下,一些第三方程序集REFERENCES被正确复制,而其他第三方程序集REFERENCES没有被复制.请注意,我的解决方案项目不会直接引用要复制的程序集.
这意味着一切都很好.但是当我运行我的程序时它没有启动,因为它引用的程序集不能反过来加载它们的引用.
构建中的哪个进程确定将哪些程序集复制到二进制文件夹?有没有办法指定它应该复制所有程序集?
编辑:一种可能的解决方案是仅引用解决方案中某个项目中的所有必需程序集,但这会非常混乱.
作为Team Build MSBuild脚本的一部分,我们需要在远程服务器上执行部署批处理文件:
<Exec Command="psexec -accepteula \\servername D:\Build_Drop\DeploySites.bat "/>
Run Code Online (Sandbox Code Playgroud)
我可以确认它不是权限或防火墙:例如,如果将bat命令更改为运行iisreset或calc.exe,则该命令将起作用.
我已经尝试了-s和> nul标志,并且还在调用cmd时包装批处理文件.我已尝试在bat cmd周围使用和不使用引号.
我尝试的所有选项都可以在构建服务器上的cmd行中正常工作,但是没有一个可以在构建脚本本身内工作.
有任何想法吗?
如果我安装Visual Studio 11 Team Foundation Server Express Beta,我是否可以从Visual Studio 2010客户端使用它?
是否可以将Team Foundation Server用作Windows Azure订阅的服务?我知道tfs.visualstudio.com存在并且我一直在我工作的公司内进行评估,但是我正在考虑我在家工作的个人项目.这可以作为服务吗?
在我的解决方案,我不得不被置于网络的地方,映射的是网络驱动器号(P :)大会文件的引用.该项目文件从该驱动器引用组件(如P:\ Assembly.dll)也有,我有SNK文件登录同一个网络驱动器的组装.现在,我正在尝试使用TFS 2010 Build构建项目.但是,当我运行团队构建时,它会抛出错误说
中信建投:在签订组装加密失败 - "错误读取密钥文件 - 系统找不到指定的路径
任何人都可以了解如何启用对映射网络驱动器的访问?
注意:构建控制器在已映射网络驱动器并具有访问路径权限的用户下运行.
谢谢.
c# ×5
.net ×4
tfs ×4
tfs2010 ×3
tfsbuild ×3
msbuild ×2
tfs2012 ×2
ado.net ×1
appcmd ×1
assemblies ×1
azure ×1
azure-devops ×1
batch-file ×1
iis-7 ×1
psexec ×1
sql ×1
string ×1
transactions ×1
wcf ×1
xml ×1