当我使用/ t:Package参数运行MSBuild时,我希望能够指定包含*.cmd和*.zip文件的文件夹的输出位置.指定_PackageTempDir会在没有部署文件(*.cmd和*.zip)的情况下输出整个应用程序.有没有办法在命令行中指定它?
更新: OutDir参数输出超过我需要或想要的.
我在我的应用程序中使用 Mark Brittingham 编写的以下类进行双向 AES 加密。我将如何修改它以添加盐字符串?
using System;
using System.Data;
using System.Security.Cryptography;
using System.IO;
public class SimpleAES
{
// Change these keys
private byte[] Key = { 123, 217, 19, 11, 24, 26, 85, 45, 114, 184, 27, 162, 37, 112, 222, 209, 241, 24, 175, 144, 173, 53, 196, 29, 24, 26, 17, 218, 131, 236, 53, 209 };
private byte[] Vector = { 146, 64, 191, 111, 23, 3, 113, 119, 231, 121, 2521, 112, 79, 32, 114, …
Run Code Online (Sandbox Code Playgroud) 我刚刚从SVN切换到中断后,我会将一系列修订(从我上一次从主干合并到branhc-HEAD)合并到一个分支中.我想使用TortoiseHG对Mercurial做同样的事情,但我无法弄清楚如何使用.我刚刚将两个更改集提交到主干,现在我需要分支来集成这些更改.提前致谢!
我有一个功能,我认为我已经修复了代码分析中的CA2000警告,但它不会消失.警告在SqlCommand上.这是功能:
protected internal void LogUserSession(int? managerID)
{
using (var sqlCommand = new SqlCommand())
{
sqlCommand.SetCommand("usp_UserActivity_Create");
SqlParameter prmSessionID = new SqlParameter();
prmSessionID.ParameterName = "@sessionID";
prmSessionID.Direction = ParameterDirection.Input;
prmSessionID.SqlDbType = SqlDbType.VarChar;
prmSessionID.Size = 32;
prmSessionID.SetValue(SessionID);
SqlParameter prmUsername = new SqlParameter();
prmUsername.ParameterName = "@username";
prmUsername.Direction = ParameterDirection.Input;
prmUsername.SqlDbType = SqlDbType.VarChar;
prmUsername.Size = 32;
prmUsername.SetValue(Username);
SqlParameter prmLoginID = new SqlParameter();
prmLoginID.ParameterName = "@loginID";
prmLoginID.Direction = ParameterDirection.Output;
prmLoginID.SqlDbType = SqlDbType.Int;
sqlCommand.Parameters.Add(prmSessionID);
sqlCommand.Parameters.Add(prmUsername);
sqlCommand.Parameters.Add(prmLoginID);
using (sqlCommand.Connection = new SqlConnection(ConnectionStrings.MainApp))
{
sqlCommand.Connection.Open();
sqlCommand.ExecuteNonQueryTryCatch();
if (prmLoginID.Value != DBNull.Value) …
Run Code Online (Sandbox Code Playgroud) 昨天我在这里发布了一个问题(FxCop和代码分析规则),关于让FxCop运行与Code Analysis相同的规则,我认为它已经解决了.
然而,似乎没有真正的方法让FxCop运行与Visual Studio 2010的代码分析相同的一组规则.例如,一旦我使用我的FxCopCmd设置完成所有工作,它就开始咆哮着像CA2000这样的最小推荐规则规则集中表示的规则.如果我删除规则它不喜欢它运行分析,一切看起来不错...除了它真的没有运行相同的规则集!
这对我来说似乎有点疯狂!反正有没有让FxCop分析Visual Studio Code Analysis可以分析的完全相同的规则集?是否有.dll要添加到要分析的规则以获取CA2000和其他规则?
continuous-integration code-analysis fxcop visual-studio-2010
StyleCop中的SA1503在大括号中是一个全有或全无的交易.我希望能够允许以下代码:
if (x == 3) return true;
Run Code Online (Sandbox Code Playgroud)
但不允许以下内容:
if (x == 3)
return true;
if (x == 3)
foreach (var w in widgets)
x++;
Run Code Online (Sandbox Code Playgroud)
所以基本上,同一行没有花括号好,多行没有花括号坏.
我是新手编写自定义StyleCop规则而我正在努力从哪里开始.任何帮助将不胜感激.
我在我的 CI 构建中运行 SqlPackage 来部署 dacpacs 并使用 /Profile 开关传递一个 publish.xml 文件。我在配置文件中设置了以下三个选项:
<DropObjectsNotInSource>True</DropObjectsNotInSource>
<DoNotDropPermissions>True</DoNotDropPermissions>
<DoNotDropUsers>True</DoNotDropUsers>
Run Code Online (Sandbox Code Playgroud)
但是,当我运行 dacpac deploy 时,它仍会尝试删除我的用户。有任何想法吗?
我正在使用BlockUI来显示模态.在阻止的模式中,我有一个更新面板.在更新面板中,我有一个文本框和一个按钮,可以将内容提交回服务器.到目前为止一切正常(调用blockUI,出现模态,按钮执行回发).但是,当按钮的click事件被触发时,即使输入了文本,文本框的值也始终为空.更新面板更新时,文本框显示为空白.看来这可能是某种viewstate问题,我没有关闭viewstate.
<a href="javascript:$.blockUI({ message: $('#divTest') });">SHOW MODAL</a>
<div id="divTest" style="display: none;">
<asp:UpdatePanel ID="upTest" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtTestVS" runat="server" /><br />
<asp:Button ID="cmdTest" Text="TEST" OnClick="cmdTest_Click" UseSubmitBehavior="false" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
服务器端:
protected void cmdTest_Click(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
{string x = txtTestVS.Text; }
字符串"x"始终等于"".
我有一个Windows服务项目和一个安装项目.我无法弄清楚如何在安装时更改实际服务的名称(windows services中列出的名称... services.msc).
我需要一个匹配字符串中三个连续字符(任何字母数字字符)的正则表达式.
其中2a82a9e4eee646448db00e3fccabd8c7"eee"将匹配.
其中2a82a9e4efe64644448db00e3fccabd8c7"444"将匹配.
等等
所以我认为这可能是我在线程和递增全局计数器方法中的一个根本缺陷,但这是我的问题.我有一个来自我迭代的数据库的文件名集合,对于每个文件名,我在顶级文件夹中搜索它.每次迭代我都会搜索并在计数器完成时递增计数器,这样我就可以确定它何时完成.问题是计数器永远不会像文件总数一样高,有时会非常接近,但永远不会达到我的预期.
public class FindRogeRecords
{
private delegate void FindFileCaller(string folder, int uploadedID, string filename);
private Dictionary<int, string> _files;
private List<int> _uploadedIDs;
private int _filesProcessedCounter;
private bool _completed;
public void Run()
{
_files = GetFilesFromDB(); //returns a dictionary of id's and filenames
FindRogueRecords();
}
private void FindRogueRecords()
{
_uploadedIDs = new List<int>();
foreach (KeyValuePair<int, string> pair in _files)
{
var caller = new FindFileCaller(FindFile);
var result = caller.BeginInvoke(txtSource.Text, pair.Key, pair.Value, new AsyncCallback(FindFile_Completed), null);
}
}
private void FindFile(string documentsFolder, int uploadedID, …
Run Code Online (Sandbox Code Playgroud) 所以我通过StyleCop规则修复了所有代码,而我正在经历的很多代码是SA1401 FieldsMustBePrivate.我理解它,我们一直很擅长实现它...有点.我们一直做的一件事就是让我们的变量受到保护并提供属性.这样,从基类继承的类可以访问变量本身,但继承链之外的类必须通过属性访问这些值.
我发现这个在基类需要设置在继承的类变量的值而对属性提供一个setter使得继承链以外类不能修改该值的情况下特别有用.什么我被"固定" SA1401问题的发现是,我打开了属性值进行设置,因为我需要设置他们在继承的类,我真的不想被设定.
我想我可能只是建立在基类,允许我设置的值,然后创建一个"新"公共财产,不允许我设置的值受保护的财产,但后来我不得不创建一个"新"公每个继承类的属性.
思考?
我正在编写的C#应用程序的一部分需要从服务提供商的数据库中为与用户关联的每个帐户收集数据.当用户登录应用程序时,将进行调用以开始从服务提供商的数据库更新帐户.由于在第三方结束时执行批量操作,获取其信息的过程可能需要一段时间,因此我不想等待每个帐户只是为了开始更新过程.我的问题是,在循环中调用异步方法是否有任何问题(可能是线程问题)?
c# ×7
stylecop ×2
.net ×1
aes ×1
asp.net ×1
asynchronous ×1
blockui ×1
ca2000 ×1
coding-style ×1
dacpac ×1
deployment ×1
encryption ×1
fxcop ×1
inheritance ×1
jquery ×1
mercurial ×1
merge ×1
msbuild ×1
msdeploy ×1
package ×1
properties ×1
regex ×1
sql-server ×1
tortoisehg ×1
updatepanel ×1
viewstate ×1