小编RB *_*son的帖子

Visual Studio 2010需要以管理员身份运行才能构建网站

我正在使用Visual Studio 2010终极版并且拥有包含网站项目的解决方案.在XP专业版下,evrything很好.我转移到运行Windows 7旗舰版的新机器,现在当我去构建网站时,我得到以下错误消息:

------ Build build:项目:C:...\WebSite \,配置:调试任何CPU ------验证网站:Build(web):无法映射路径'/'

如果我选择"以管理员身份运行"选项启动Visual Studio,那么网站构建完美,我没有任何错误.

我宁愿不必经常以管理员身份运行Visual Studio.有什么建议?

admin visual-studio-2010 web

5
推荐指数
1
解决办法
5267
查看次数

这个文件的奇怪案例既包括也包括

在.Net 3.5中,我有以下代码.

If File.Exists(sFilePath & IndexFileName & ".NX") Then
  Kill(sFilePath & IndexFileName & ".NX")
End If
Run Code Online (Sandbox Code Playgroud)

在运行时,在一个客户端的机器上,当执行此代码时,我会一遍又一遍地得到以下异常

Source: Microsoft.VisualBasic
TargetSite: Microsoft.VisualBasic.FileSystem.Kill
Message: No files found matching 'I:\RPG\HGIAPVXD.NX'.
StackTrace: 
   at Microsoft.VisualBasic.FileSystem.Kill(String PathName)
(More trace that identifies the exact line of code.)
Run Code Online (Sandbox Code Playgroud)

运行此代码的不同计算机上有两个人,但只有一个人获得了异常.例外不会每次都发生,但它会定期发生.(每小时多次.)代码不在循环中,也不是连续运行,更像每隔几分钟一次.

从表面上看,这看起来像一个竞争条件,但考虑到这个代码的运行频率以及错误发生的频率,我认为必定会有其他事情发生.

我很感激有关如何追踪这里真正发生的事情的任何建议.保持错误发生的解决方案会更好.

windows file kill .net-3.5

3
推荐指数
1
解决办法
126
查看次数

使用LINQ加入HashSet <T>需要帮助理解意外行为

我使用C#HastSet和LINQ的Join方法遇到了一些奇怪的行为,我不明白.我已经简化了我正在做的事情,以帮助专注于我所看到的行为.

我有以下内容:

 private HashSet<MyClass> _mySet; // module level

 IEnumerable<ISearchKey> searchKeys; // parameter.
 // Partial key searches are allowed.

 private IEqualityComparer<ICoreKey> _coreKeyComparer; // Module level.
 // Compares instances of MyClass and ISearchKey to determine 
 // if they match.
Run Code Online (Sandbox Code Playgroud)

鉴于

  1. searchKeys和_mySet之间存在1对多的关系.
  2. MyClass实现接口IPartialKey和ICoreKey.
  3. ISearchKey继承自IPartialKey和ICoreKey.
  4. MyClass和ISearchKey实例都覆盖了GetHashCode方法.
  5. MyClass的哈希码值基于其完整键值,包括其ICoreKey和IPartialKey值以及其他字段.
  6. MyClass使用的完整密钥不是唯一的.两个不同的MyClass实例可以具有相同的哈希码.
  7. ISearchKey的哈希码值仅基于其ICoreKey和IPartialKey值.即,ISearchKey哈希码可能与匹配的MyClass实例的哈希码不同.(旁注:在我第一次遇到问题的情况下,ISearchKey的IPartialKey值与MyClass完整键匹配,因此GetHashCode方法将为ISearchKey和MyClass返回相同的值.我包含额外的复杂性以更好地说明基础逻辑我正在做什么.)
  8. _coreKeyComparer.GetHashCode方法仅使用其ICoreKey值返回匹配ISearchKey和MyClass实例的相同值.
  9. _coreKeyComparer.Equals方法将参数分别转换为MyClass和ISearchKey,如果它们的IPartialKey值匹配则返回true.(旁注:_coreKeyComparer已经过严格测试并且工作正常.)

我预计两个集合之间的连接应该会产生如下结果:

{searchKey_a, myClass_a1},
{searchKey_a, myClass_a2},
{searchKey_a, myClass_a3},
{searchKey_b, myClass_b1},
{searchKey_b, myClass_b2},
{searchKey_c, myClass_c1},
{searchKey_c, myClass_c2},
{searchKey_c, myClass_c3},
{searchKey_c, myClass_c4},
etc....
Run Code Online (Sandbox Code Playgroud)

ie同一个ISearchKey实例会多次出现,一次为它所连接的每个匹配的MyClass实例.

但是当我从searchKeys到_mySet的连接时:

        var matchedPairs = searchKeys
          .Join(
            _mySet,
            searchKey => searchKey,
            myClass => …
Run Code Online (Sandbox Code Playgroud)

c# linq join inner-join hashset

0
推荐指数
1
解决办法
326
查看次数

标签 统计

.net-3.5 ×1

admin ×1

c# ×1

file ×1

hashset ×1

inner-join ×1

join ×1

kill ×1

linq ×1

visual-studio-2010 ×1

web ×1

windows ×1